[R] Preserving the class of POSIXt objects

David Wolfskill r at catwhisker.org
Fri Mar 25 22:37:04 CET 2011


On Fri, Mar 25, 2011 at 09:14:50PM +0000, 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.
> ...

As Gabor Grothendieck pointed out to me when I tried to read a value as
numeric, then force it to POSIXct:

| This line in the code above produces an invalid object:
| class(df$time) <- "POSIXct"
| 
| It should be:
| class(df$time) <- c("POSIXct", "POSIXt")

Peace,
david
-- 
David H. Wolfskill				r at catwhisker.org
Depriving a girl or boy of an opportunity for education is evil.

See http://www.catwhisker.org/~david/publickey.gpg for my public key.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20110325/1095fafa/attachment.bin>


More information about the R-help mailing list