我有时间序列数据。我想应用acf函数并绘制所有列的结果。我还想让绘图自动生成每个单变量序列的标题。
我尝试了以下几种方法:
library(quantmod)
library(TSclust)
library(ggplot2)
library(tsibble)
library(vcd)
## Prepare the data
symbols = c('AZN', 'BP', 'AAPL')
## Start and end time
start = as.Date("2015-01-05")
until = as.Date("2015-12-31")
stocks.Cl = lapply(symbols, function(symbol) {
Close = getSymbols(symbol,src='yahoo', from = start, to = until, auto.assign = FALSE)[, 4]
names(Close) = symbol
Close
})
stocks.Cl = do.call(merge.xts,stocks.Cl)
acf.dat <- apply(stocks.Cl, MARGIN= 2, FUN = plot(acf))但我得到了以下信息:
Error in curve(expr = x, from = from, to = to, xlim = xlim, ylab = ylab, :
'expr' did not evaluate to an object of length 'n'发布于 2020-09-01 17:55:55
您需要使用匿名函数将附加函数应用于传递的对象。我们不使用MARGIN = 2的apply,而是使用lapply,并迭代stocks.Cl的names作为绘图的标题。
lapply(names(stocks.Cl), function(i) plot(acf(stocks.Cl[, i]), main = i))https://stackoverflow.com/questions/63684678
复制相似问题