2

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

4

1 回答 1

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"))
于 2013-08-15T20:58:29.990 回答