免责声明:这是我第一次尝试在R中创建一个函数 .
我有HoltWinters函数,如下所示:
f <- function(x) {
y <- ts(x$Million, freq = 4, start = c(2013, 1))
y.hw <- HoltWinters(y)
y.pr <- forecast(y.hw, h = 3, level = c(80, 85))
y.pr
plot(y.pr)
}
它需要一个数据帧,将其转换为时间序列( ts
),预测并绘制预测 .
我被抛出这个错误:
x $ Million中的错误:$运算符对原子向量无效
我知道这可能是一个愚蠢的问题......但我希望你会好起来的!
EDIT
我想传递给函数的数据帧的结构:
Quarter Product Million
1 2013-Q1 AAA 4.0
2 2013-Q2 AAA 6.0
3 2013-Q3 AAA 9.0
1 回答
当您在
vectors
或单个numeric
和integer
值等上使用$
时会出现此错误,但不包括list
或data.frame
. 请确保您在函数中提供data.frame
或list
. 最明确的是,确保您的数据集不是matrix
.