[Rd] I() fails on objects of class POSIXct (PR#1587)
Peter Dalgaard BSA
p.dalgaard@biostat.ku.dk
21 May 2002 22:48:27 +0200
a296180@mica.fmr.com writes:
> Although the documentation is somewhat sketchy, I() can be used to create
> objects of class AsIs:
...
> This fails for objects of class POSIXct.
>
> > class(ISOdate(2002, 5, 21))
> [1] "POSIXt" "POSIXct"
> > I(ISOdate(2002, 5, 21))
> Error in names(x) : evaluation is nested too deeply: infinite recursion?
> >
Actually I() works fine, but the resulting object has a print
method problem:
> x <- I(ISOdate(2002, 5, 21))
> x
Error in names(x) : evaluation is nested too deeply: infinite recursion?
> dput(x)
structure(1021982400, class = c("AsIs", "POSIXt", "POSIXct"))
Looks like the issue is that print calls format.AsIs which calls toString
which calls paste which calls as.character which calls format which....
----
> Interestingly enough, it produces an (incorrect?) answer for objects of class
> POSIXlt
>
> > class(as.POSIXlt(ISOdate(2002, 5, 21)))
> [1] "POSIXt" "POSIXlt"
> > I(as.POSIXlt(ISOdate(2002, 5, 21)))
> [1] " 0" " 0" " 8" " 21" " 4" "102" " 2" "140" " 1"
> >
However, that is not particularly incorrect:
> dput(as.POSIXlt(ISOdate(2002, 5, 21)))
structure(list(sec = 0, min = 0, hour = 14, mday = 21, mon = 4,
year = 102, wday = 2, yday = 140, isdst = 1), .Names = c("sec",
"min", "hour", "mday", "mon", "year", "wday", "yday", "isdst"
), class = c("POSIXt", "POSIXlt"), tzone = c("", "CET", "CEST"
))
(Notice the 6hr time diff..)
--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._