Re: [R] Preserving the class of POSIXt objects

From: Jeff Newmiller <>
Date: Fri, 25 Mar 2011 15:52:21 -0700


Jeff Newmiller The ..... ..... Go Live... DCN:<> Basics: ##.#. ##.#. Live Go... Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with /Software/Embedded Controllers) .OO#. .OO#. rocks...1k

Sent from my phone. Please excuse my brevity.

Kenn Konstabel <> wrote:

Dear all, I am working with a list of objects each of which contains two POSIXct objects (say, $Start and $End) and a number of different data in addition to that. Now an easy way to extract Start times of all object could be sapply(x, "[", "Start") but this converts them all to numeric, and so does sapply(x, "[[", "Start"). lapply preserves the class but is obviously a list rather than an atomic vector but using unlist is a way of getting rid of the class again. I know the vector can be converted back using as.POSIXct and that one can set the class attribute back to "POSIXct" but is there an easier trick that I can't just figure out? Thanks in advance for any suggestions. A reproducible example: foo <- as.list(Sys.time()+1:10) sapply(foo, "[", 1) I've also noticed that trunc.POSIXt does something unexpected (to me) in some cases: foo <- as.POSIXct("2011-03-25 21:03:20")+1:10 length(foo) ## obviously 10 length(trunc(foo, "day")) # 1! This makes it impossible to use [ and leng  th()

with trunc'ed POSIXct vectors (and it is a little unexpected too that the result of using trunc with a POSIX_ct_ object is a POSIX_lt_ object) but the cure seems easy: in the code of [.POSIXt, ## old ## new x$sec <- 0 ## x$sec[] <- 0 x$min <- 0L ## x$min[] <- 0L x$hour <- 0L ## x$hour[] <- 0L After these changes, [ and length would work "correctly" (in my possibly naive understanding), and length(trunc(foo, "day")) would return 10 in the example above. Best regards, Kenn Kenn Konstabel National Institute for Health Development Hiiu 42 Tallinn Estonia_____________________________________________ mailing list PLEASE do read the posting guide and provide commented, minimal, self-contained, reproducible code.

        [[alternative HTML version deleted]] mailing list PLEASE do read the posting guide and provide commented, minimal, self-contained, reproducible code. Received on Fri 25 Mar 2011 - 22:57:51 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 25 Mar 2011 - 23:00:24 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive