R:在用户定义的函数中使用forecast()

时间:2015-05-21 13:27:44

标签: r

我通过拟合AR模型来编写预测一些用户输入数据的功能。在函数外部,代码可能看起来像

dat <- c(1,1.1,1,1.2)
print(forecast(ar(dat)))

这样运行得很好。

如果现在放在一个函数中,例如:

func <- function(data_input)
{
    temp <- forecast(ar(data_input))
    print(temp)
}
func(dat)

我收到此错误:

  

ts(x)出错:&#39; ts&#39;对象必须有一个或多个观察

请有人解释一下这里发生了什么?

2 个答案:

答案 0 :(得分:0)

它的工作原理如下:

# library
library(forecast)

# data
dat <- c(1,1.1,1,1.2)

# function definition
func <- function(x){

  (temp <- forecast(ar(x)))

}

# usage
func(dat)

但是,我不知道为什么它对你的情况不起作用。

答案 1 :(得分:0)

我使用了Why can't I pass a dataset to a function?

中建议的解决方法

这似乎有效,问题可能就是

  

S4方法的解析树中环境的定义?