使用数字向量时函数出错

时间:2017-02-26 02:50:37

标签: r

创建一个接受数字向量的函数。目标是使用指数平滑进行预测。

公式是(是实际值并且是预测值) - + 1 = +( - )

函数的输出应该是一个包含两列的数据框 - 实际值和预测值。为。

设置默认值0.8
a1 <- 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))

总会出现错误提示。

0 个答案:

没有答案