[R] strptime
Dirk Eddelbuettel
edd at debian.org
Thu May 6 04:11:14 CEST 2004
On Thu, May 06, 2004 at 02:00:25PM +1200, David Scott wrote:
>
> Delving into the murky world of dates and times I found this:
>
> dates <- c("02/27/92", "02/27/92", "01/14/92", "02/28/92", "02/01/92")
> > times <- c("23:03:20", "22:29:56", "01:03:30", "18:21:03", "16:56:26")
> > x <- paste(dates, times)
> > z <- strptime(x, "%m/%d/%y %H:%M:%S")
> > z
> [1] "1992-02-27 23:03:20" "1992-02-27 22:29:56" "1992-01-14 01:03:30"
> [4] "1992-02-28 18:21:03" "1992-02-01 16:56:26"
>
> which I understand. But then
>
> > length(dates)
> [1] 5
> > length(times)
> [1] 5
> > length(z)
> [1] 9
> >
>
> which I don't.
>
> It seems that length of a POSIXlt vector (which z is), always returns 9.
Yup, as documented. It takes a little getting used to, but if you read
help(DateTimeClasses), preferably a few times and with coffee or tea at your
side, it all becomes clear. What you wanted was possibly a cast to POSIXct:
> length(z)
[1] 9
> length(as.POSIXct(z))
[1] 5
Hth, Dirk
--
The relationship between the computed price and reality is as yet unknown.
-- From the pac(8) manual page
More information about the R-help
mailing list