Error: evaluation nested too deeply: infinite recursion / options(expressions=)? in R3.3.2

Error: evaluation nested too deeply: infinite recursion / options(expressions=)? in R3.3.2

我正在尝试使用一个函数来读取不同的模型。在没有函数的情况下使用下面的代码。当我使用函数并调用它时,我会得到错误

Error: evaluation nested too deeply: infinite recursion / options(expressions=)?

谁能告诉我为什么?

x=rnorm(1000)+sin(c(1:1000)/100)#random data+ sinus superimposed

plot <- function(model){
    par(mfrow=c(2,2))# plot window settings
    plot(model)
    lines(filter(model,rep(1/30,30)),col='red')
    plot(filter(model,rep(1/30,30)))
    plot(model-filter(model,rep(1/30,30)))

    # variances of variable, long term variability and short term variability
    var(model)
    var(filter(model, rep(1/30,30)),na.rm=T)
    var(model-filter(model, rep(1/30,30)),na.rm=T)

}

plot(x)

问题是您定义的 plot 函数也是在其内部调用的函数,因此这里存在无限递归。

将您的 plot 函数重命名为其他名称,例如 myplot,您应该没问题。