AR行

时间:2016-01-22 16:17:13

标签: r

我有data.frame如下。这是原始DF

Min1 Min2 Min3 | Min4 Min5
1.05 1.01 0.99 |  x    x
1.01 0.99 1.05 |  x    x
0.99 1.05 1.01 |  x    x

Min4Min5这里是每个股票的预测值。我有100k行和数​​百列。每行代表特定股票的某个期间(列)的回报(在原始文件中,每行具有自己的ID和其他参数的数量,这些参数在此处被删除以使分析更容易执行)。我想为每个股票建立一个ARIMA模型(例如,针对每一行),并预测前面的n个值(x Min4Min5,例如此处)特别股票。

所以,我需要帮助将所有内容置于循环或类似的东西之下。目前,我使用的代码如下:

Y <- DF[1,]
arima1 <- arima(Y, order = c(1,0,1))
pred1 <- predict(arima1 , n.ahead=2)
pred2 <- as.data.frame(pred1$pred)

需要将预测值写入某些新的DF以供日后使用。

1 个答案:

答案 0 :(得分:2)

当转换apply换行符时,它会被强制转换为matrix类。从那里你可以创建一个可以在需要时附加的数据框:

as.data.frame(t(apply(df, 1, function(Y) {
  arima1 <- arima(Y, order = c(1,0,1))
  predict(arima1 , n.ahead=2)$pred
  }
)))
#          V1       V2
# 1 1.0308173 1.015321
# 2 0.9789147 1.031609
# 3 1.0345989 1.015456