1

我在访问 IBrokers 包中的时间戳数据时遇到了一些问题。

这是我得到的数据示例:

                    AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume AAPL.WAP AAPL.hasGaps AAPL.Count
2015-01-09 17:59:00       112    112.04   111.95        112        6043  112.011            0       2240

所以当我跑步时,data[,0]我得到

2015-01-09 17:59:00

问题是,稍后当我尝试将其保存到MySQL表中时,出现以下错误:

Error in dimnames(cd) <- list(as.character(index(x)), colnames(x)) : 
  'dimnames' applied to non-array

它看起来data[,0]并不简单地包含时间戳。

当我对ts包含的变量进行摘要时,data[,0]我得到:

Error in `colnames<-`(`*tmp*`, value = c("ts.1", "ts.0")) : 
  'names' attribute [2] must be the same length as the vector [1]

任何有关如何访问时间戳或将其内容转换ts为 char 以便我可以将其插入数据库的提示将不胜感激。

编辑:

dput()输出

structure(c(112, 112.04, 111.95, 112, 6043, 112.011, 0, 2240), .Dim = c(1L, 
8L), index = structure(1420837140, tzone = "", tclass = c("POSIXct", 
"POSIXt")), .indexCLASS = c("POSIXct", "POSIXt"), tclass = c("POSIXct", 
"POSIXt"), .indexTZ = "", tzone = "", .Dimnames = list(NULL, 
    c("AAPL.Open", "AAPL.High", "AAPL.Low", "AAPL.Close", "AAPL.Volume", 
    "AAPL.WAP", "AAPL.hasGaps", "AAPL.Count")), class = c("xts", 
"zoo"), from = "20150112  02:52:24", to = "20150112  02:53:24", src = "IB", updated = structure(33434342.12435, class = c("POSIXct", 
"POSIXt")))
4

1 回答 1

2

正如@JoshuaUlrich 对我的问题的评论所建议的那样,答案在zoo包装上。

关于动物园的完整文档可以在这里找到

在我的特殊情况下,通过包含 zoo 库并简单地执行以下操作:

time(data[,0])

我解决了Error in dimnames()错误。

希望它可以帮助别人。

于 2015-01-12T04:17:37.403 回答