创建一个接受数字向量的函数。目标是使用指数平滑进行预测。
公式是(是实际值并且是预测值) - + 1 = +( - )
函数的输出应该是一个包含两列的数据框 - 实际值和预测值。为。
设置默认值0.8a1 <- c(1.02, 2.21, 2.35, 3.06, 4.4, 5.2)
f1 <- c(1.05, 2.3, 3.0, 2.96, 4.1, 5.5)
alpha <- 0.8
f2 <- f1 + alpha * (a1 - f1)
我认为我不需要一个函数来解决这个问题。我是R的新秀,我很感激,如果有人能让我知道我的想法有什么不妥。
顺便说一句,如果我正在尝试使用函数来解决它,
ExpForecast = function(v,alpha = 0.8)
{
ResultMatrics1 = data.frame()
for (i in 2:length(v))
{
a = data.frame(v[i],(ResultMatrics1[(i-1),2]))
+alpha*(v[(i-1)]-ResultMatrics1[(i-1),2])
ResultMatrics1 = rbind(ResultMatrics1,a)
}
return (ResultMatrics1)
colnames(ResultMatrics1) = c("y","y_hat")
}
ExpForecast(v=c(2,5,13,24,53))
总会出现错误提示。