On 2/1/2010 3:57 PM, Brian Diggs wrote: > The following code: > > cut(as.POSIXct("2009-11-01 04:00:00", tz="America/Los_Angeles"), "1 day") > > gives the error: > > Error in seq.int(0, to - from, by) : 'to' must be finite > > This is related to November 1st, 2009 being the switchover date from > daylight savings time to standard time in the America/Los_Angeles > time zone. In particular, in cut.POSIXt, the starting time (start) > is converted to a POSIXlt, and the individual members are > manipulated. Because a spacing of "1 day" is requested, the hour, > minute, and second are manually set to 0. In doing so, the > represented time is now before the 2:00am PDT->PST change. This > value is passed to seq.int (as the argument from), which dispatches > to seq.POSIXt. seq.POSIXt eventually does from <- > unclass(as.POSIXct(from)) which evaluates to NA because > as.POSIXct(from) is NA. The seq.int call in the next line then > passes NA as the "to" argument, causing the output error (which comes > from the C-code of seq.int). > > Bringing it all together, the sequence of commands that causes the > problems is: > > tm <- as.POSIXlt("2009-11-01 04:00:00", tz="America/Los_Angeles") > tm$hour <- 0 > as.POSIXct(tm) > # [1] NA > > Is there a timezone/daylight savings time safe way to get to the > beginning of the day in cut.POSIXt so that invalid dates are not sent > to the other functions? Alternatively, can as.POSIXct.POSIXlt be > made to handle these manually manipulated dates correctly?
I realized I forgot my session info: > sessionInfo() R version 2.10.1 (2009-12-14) i386-pc-mingw32 locale: [1] LC_COLLATE=English_United States.1252 [2] LC_CTYPE=English_United States.1252 [3] LC_MONETARY=English_United States.1252 [4] LC_NUMERIC=C [5] LC_TIME=English_United States.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base > -- Brian Diggs, Ph.D. Senior Research Associate, Department of > Surgery, Oregon Health & Science University ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel