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)
4

1 回答 1

2

问题是plot你定义的函数也是在它的体内被调用的函数,所以这里有一个无限递归。

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

于 2018-03-19T17:00:25.853 回答