我有一个循环将数据集(FULLDATASET)拆分为训练(OLDData)和保留(NewData)数据集。一个模型(auto.arima with (xtreg)regressors)估计在由 i 索引的 24 个部分上。保留数据集 (NewData) 用于使用基于 OldData 构建的模型的 FIT 进行预测。NewData2 与 NewData 完全相同,只是我希望 18:20 列中的三个预测变量取零值。当我运行循环时,我没有收到任何错误,但是 NewData2 在第 18 到 20 列中的变量具有相同的原始值,因此我的预测在使用 NewData 和 NewData2 时是相同的。当我按名称指定变量时,它将仅将零向量分配给第一个指定的变量。
OldData<-FULLDATASET[[i]][1:525,]
NewData<-FULLDATASET[[i]][526:547,]
NewData2<-transform(FULLDATASET[[i]][526:547,],FULLDATASET[[i]][526:547,18:20]<-0 )
我的问题是:如何转换数据框,以便可以为数据框中的多列分配零值?另外,请记住我的代码是循环运行的。我最初使用 plyr 和 apply 函数,但出于我的需要,我的循环执行得更快。