转换日期时间格式以在xts中使用

时间:2013-08-15 20:25:03

标签: r xts

我正在尝试将我的数据转换为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()

1 个答案:

答案 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"))