我有一个 xts 对象和另一个具有 3 列(YY、MM、DD)的数据框。我正在尝试将这三列创建/转换为某种日期/时间格式,以便我可以将它与 xts 表合并在一起。一点运气都没有。
YY、MM、D 列是数字中的年、月和日。
沿着这些路线尝试了一些东西,但无法让它工作。
t.date<-cbind(YY,MM,DD)
as.POSIXct(t.date)
一个可重现的例子:
df <- data.frame( YY = c(12,12,12,13,12) , MM = c(01,01,01,01,02) , DD = c(10,10,10,10,10) )
# YY MM DD
#1 12 1 10
#2 12 1 10
#3 12 1 10
#4 13 1 10
#5 12 2 10
dates <- paste(df$YY,df$MM,df$DD , collapse=NULL , sep = "/" )
# [1] "12/1/10" "12/1/10" "12/1/10" "13/1/10" "12/2/10"
t.date <- strptime( dates , format = "%y/%m/%d")
# [1] "2012-01-10" "2012-01-10" "2012-01-10" "2013-01-10" "2012-02-10"
class(t.date)
# [1] "POSIXlt" "POSIXt"
或为POSIXct
:
as.POSIXct( dates , format = "%y/%m/%d" , tz = "GMT")