[R] Applying strptime() to a data set or array

Gabor Grothendieck
Tue, 07 Mar 2006 05:42:17 -0000

POSIXct, not POSIXlt, are used in data frame columns.
See ?POSIXct where this is mentioned and try:

A$date <- as.POSIXct(A$date)

Also be sure to read R News 4/1 for more about dates and times.


On 3/6/06, Andrew Athan <aathan_R_1542 at memeplex.com>
wrote:
>
> I'm sure this is just the result of a basic misunderstanding of the
> syntax of R, but I am stumped.
>
> A <-
>
read.table(file="sumByThirtyMinute.csv",sep=",",col.names=c("date","pandl"))
>
> A now consists of thousands of rows, but A$date is a string...
> ...
> 3183 2006-02-28 12:00:00    548.470
> 3184 2006-02-28 12:30:00    515.240
> 3185 2006-02-28 13:00:00    140.120
> 3186 2006-02-28 13:30:00    450.940
> 3187 2006-02-28 14:00:00    318.570
> ...
>
>
>
>
> So, I try to convert A$date to a POSIXlt ...
>
> A[,1]<-strptime(A$date,"%Y-%m-%d %H:%M:%s")
> A$date<-strptime(A$date,"%Y-%m-%d %H:%M:%s")
>
>
> which gives me a warning that the length of the array I am trying to
> replace A$date with is 9 ... but if I print strptime(A$date,"%Y-%m-%d
> %H:%M:%s"), it clearly has thousands of rows.  Yet, if I ask for
> length(strptime(A$date,"%Y-%m-%d %H:%M:%s")), I get 9.
>
> What am I doing wrong?  Do I need to convert the return value of
> strptime(A$date,"%Y-%m-%d %H:%M:%s") to some array/vector/matrix
> datatype before attempting to assign it?
>
> Thanks,
> Andrew
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!