将数据帧转换为xts对象剥离小时/分钟信息

时间:2016-04-20 23:28:38

标签: r xts

我有一个3x3数据帧。其中一行包含日期和时间信息。当我将数据帧转换为xts对象时,转换会从数据中删除Time,只留下Date。我必须有错误的代码。然而,我相信我正确地遵循了指示。非常欢迎任何帮助。

library(xts)
library(data.table)

DATSB <- structure(list(DateTime = c("3/28/2016 20:37", "3/28/2016 20:36","3/28/2016 20:35"), Last = c(1221.7, 1221.8, 1221.9), Volume = c(14L,2L, 22L)), .Names = c("DateTime", "Last", "Volume"), row.names = c(NA,3L), class = "data.frame")
setDF(DATSB)
DATSB$DateTime <- strptime(DATSB$DateTime, format = "%m/%d/%Y %H:%M") 
DATSBxts <- as.xts(DATSB[, -1], order.by = as.Date(DATSB$DateTime, "%Y/%m/%d %H:%M"))


Output for data.frame DATSB:

DateTime               Last Volume
1 2016-03-28 20:37:00 1221.7     14
2 2016-03-28 20:36:00 1221.8      2
3 2016-03-28 20:35:00 1221.9     22


Output for xts object DATSBxts:

            Last Volume
2016-03-28 1221.7     14
2016-03-28 1221.8      2
2016-03-28 1221.9     22

1 个答案:

答案 0 :(得分:1)

像这样DATSBxts <- as.xts(DATSB[, -1], order.by = DATSB$DateTime)

删除as.Date