我使用以下命令从Quandl下载了时间序列:
library(Quandl)
Quandl.auth("YOURSKEY")
mydata <- Quandl("TFGRAIN/SOYBEANS", authcode="YOURSKEY")
现在,我想使用quantmod包中的一些函数。但是,当我运行以下代码时收到错误消息:
periodReturn(mydata, period="monthly")
# Error in try.xts(x) :
# Error in as.POSIXlt.character(x, tz, ...) :
# character string is not in a standard unambiguous format
我认为这是从mydata
到xts对象的转换。所以,我尝试以下方法:
mydata_matrix <- as.matrix(mydata)
mydata_matrix_xts <- as.xts(mydata_matrix)
# Error in as.xts.matrix(mydata_matrix) :
# order.by must be either 'rownames()' or otherwise specified
rownames(mydata_matrix) <- mydata_matrix[,1]
mydata_matrix_xts <- as.xts(mydata_matrix)
# Error in as.POSIXlt.character(x, tz, ...) :
# character string is not in a standard unambiguous format
......但我仍然会遇到错误。有什么建议吗?
答案 0 :(得分:1)
最简单的解决方案是显式创建一个xts对象以传递给periodReturn
:
mydata_xts <- xts(mydata[,-1], mydata[,1])
monthly_return <- periodReturn(mydata_xts[,"Cash Price"], period="monthly")