在IBrokers包上保存时间戳

时间:2015-01-12 03:22:25

标签: mysql r ibrokers

我在访问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")))

1 个答案:

答案 0 :(得分:2)

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

可以找到有关动物园的完整文档here

在我的特殊情况下,包括动物园图书馆,只是做:

time(data[,0])

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

希望它可以帮助别人。