1

我有一个 xts 对象和另一个具有 3 列(YY、MM、DD)的数据框。我正在尝试将这三列创建/转换为某种日期/时间格式,以便我可以将它与 xts 表合并在一起。一点运气都没有。

YY、MM、D 列是数字中的年、月和日。

沿着这些路线尝试了一些东西,但无法让它工作。

t.date<-cbind(YY,MM,DD)
as.POSIXct(t.date)
4

1 回答 1

2

一个可重现的例子:

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") 
于 2013-06-13T23:31:15.580 回答