【发布时间】:2016-09-20 18:03:00
【问题描述】:
注意:问题已在以下评论中解决
按照找到的here 中的答案尝试将data.frame 转换为xts 时出现以下错误。
.xts(DA[, 3:6], index = as.POSIXct(DAINDEX, format = "%m/%d/%Y %H:%M:%S", 中的错误: 索引未按升序排列
我无法找到有关此错误或解决方法的太多信息,因此非常感谢您提供任何帮助。
数据是每日标准普尔 500 指数,采用逗号分隔格式,包含以下列:“日期”“时间”“开盘价”“最高价”“最低价”“收盘价”。
下面是代码:
DA <- read.csv("SNP.csv", header = TRUE, stringsAsFactors = FALSE)
DAINDEX <- paste(DA$Date, DA$Time, sep = " ")
Data.hist <- .xts(DA[,3:6], index = as.POSIXct(DAINDEX, format = "%m/%d/%Y %H:%M:%S", tzone = "GMT"))
根据要求,一些数据行
structure(list(Date = c("5/20/2016", "5/19/2016", "5/18/2016",
"5/17/2016", "5/16/2016", "5/13/2016"), Time = c("0:00:00", "0:00:00",
"0:00:00", "0:00:00", "0:00:00", "0:00:00"), Open = c(2041.880005,
2044.209961, 2044.380005, 2065.040039, 2046.530029, 2062.5),
High = c(2058.350098, 2044.209961, 2060.610107, 2065.689941,
2071.879883, 2066.790039), Low = c(2041.880005, 2025.910034,
2034.48999, 2040.819946, 2046.530029, 2043.130005), Close = c(2052.320068,
2040.040039, 2047.630005, 2047.209961, 2066.659912, 2046.609985
)), .Names = c("Date", "Time", "Open", "High", "Low", "Close"
), row.names = c(NA, 6L), class = "data.frame")
以上是dput(head(DA))的输出
【问题讨论】:
-
您能在这里提供几行数据吗?使用
dput(head(DA))... -
@MartinDabbelJuSmelter 将在我回到我的计算机后立即执行!
-
@MartinDabbelJuSmelter 请查看已编辑的问题。实际上使用 dput 让我意识到数据是从最新到最旧排序的,而不是相反。如果您愿意,请留下答案,以便我接受。非常感谢您的帮助!