我正在尝试将我的数据转换为xts,但我不断收到“order.by需要适当的基于时间的对象”错误,所以我试图将我的日期时间转换为正确的格式。
我的数据如下:
Date Time Value
20090202 9:30 1
20090202 9:31 2
20090202 9:32 3
20090202 9:33 4
20090202 9:34 5
20090202 9:35 6
我也这样做了:data.frame(cbind(theData $ Date,theData $ Time))产生:
1 2
20090202 09:30
20090202 09:31
20090202 09:32
20090202 09:33
20090202 09:34
20090202 09:35
如何将这些合并为一个列,以便:
1
20090202 09:30
20090202 09:31
20090202 09:32
20090202 09:33
20090202 09:34
20090202 09:35
然后我可以将它放入xts()
答案 0 :(得分:7)
您只需在日期和时间列上使用paste
,然后在其上调用as.POSIXct
。
theData <- read.table(text="Date Time Value
20090202 9:30 1
20090202 9:31 2
20090202 9:32 3
20090202 9:33 4
20090202 9:34 5
20090202 9:35 6", header=TRUE, as.is=TRUE)
theData$DateTime <- paste(theData$Date, theData$Time)
xts(theData$Value, as.POSIXct(theData$DateTime, format="%Y%m%d %H:%M"))