如何在 R 中的 acf() 路由中使用“一组滞后时间差来保留”

问题描述

acf 函数R 文档中有几行。

i要保留的一组滞后(时间差)。

j 一组要保留的系列(名称或数字)。

它们是什么意思以及如何使用它们?我在文档中没有看到相关示例。

(我认为它应该像 acf(time_series,i=c(1,2,4,7)) 一样简单,但它会抛出警告消息并且不影响输出。)

示例:

time_series = rnorm(100)
acf(time_series,7))

# There were 12 warnings (...)
# In plot.window(...) : "i" is not a graphical parameter
# ... 

解决方法

acfExtractplotprint)建议了 3 种方法

methods(class = acf)
#[1] [     plot  print

Extraction ([) 源代码的 S3 方法返回并且是加星标的

grep("acf",methods("["),value = TRUE)
#[1] "[.acf"

getAnywhere('[.acf')
function (x,i,j) 
{
    if (missing(j)) 
        j <- seq_len(ncol(x$lag))
    ii <- if (missing(i)) 
        seq_len(nrow(x$lag))
    else match(i,x$lag[,1,1],nomatch = NA_integer_)
    x$acf <- x$acf[ii,j,drop = FALSE]
    x$lag <- x$lag[ii,drop = FALSE]
    x
}

因此,ij 基于提取