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

最佳答案

您只需要在日期和时间列上使用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"))

关于r - 转换日期时间格式以在XTS中使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18261160/

10-12 17:44