我有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
Min4
和Min5
这里是每个股票的预测值。我有100k行和数百列。每行代表特定股票的某个期间(列)的回报(在原始文件中,每行具有自己的ID和其他参数的数量,这些参数在此处被删除以使分析更容易执行)。我想为每个股票建立一个ARIMA模型(例如,针对每一行),并预测前面的n个值(x
Min4
和Min5
,例如此处)特别股票。
所以,我需要帮助将所有内容置于循环或类似的东西之下。目前,我使用的代码如下:
Y <- DF[1,]
arima1 <- arima(Y, order = c(1,0,1))
pred1 <- predict(arima1 , n.ahead=2)
pred2 <- as.data.frame(pred1$pred)
需要将预测值写入某些新的DF
以供日后使用。
答案 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