问题描述
我昨天运行了这段代码,它执行得很好。但是今天,当我运行它时,我遇到了错误。当我检查ZOO表时,它没有数据,我为空。问题可能在哪里?
***library(Quandl)
library(quantmod)
library(tidyverse)
library(zoo)
library(readr)
getSymbols("FB",from = '2018-02-01',to = '2018-12-30',warnings = FALSE,auto.assign = TRUE)
fb_data <- FB
ZOO <- zoo(fb_data$FB.close,order.by=as.Date(as.character(fb_data$date),format='%Y-%m-%d'))
fb_ts <- ts(ZOO)***
解决方法
列名是FB.Close
,大写字母C,而不是小写字母c,并且已经是xts / zoo。我们可以使用quantmod的Cl
函数来选择收盘价。请注意,x
是xts / zoo对象。
x <- Cl(FB)
class(x)
## [1] "xts" "zoo"
如果问题中代码的目的只是使其成为动物园对象而不是xts,则在getSymbols
中使用return.class="zoo"
进行指定:
# FB will be a zoo object
getSymbols("FB",from = '2018-02-01',to = '2018-12-30',warnings = FALSE,auto.assign = TRUE,return.class = "zoo")
或者如果您已经有一个xts / zoo对象x
,则可以使用来将其转换为只是动物园
# if x is xts/zoo object then z will be zoo object
z <- as.zoo(x)