我在访问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")))
答案 0 :(得分:2)
正如@JoshuaUlrich对我的问题的评论所建议的那样,答案是zoo
包。
可以找到有关动物园的完整文档here
在我的特殊情况下,包括动物园图书馆,只是做:
time(data[,0])
我解决了Error in dimnames()
错误。
希望它可以帮助别人。