我正在尝试将 auto.arima 应用于已从数据框对象转换为 data.table 对象的数据。我的 data.table 有一个因变量和协变量,所以我在我的代码中使用 xreg。我选择使用 data.tables 是因为我读到我的代码使用 data.table 会运行得更快。我的时间序列也是 xts 对象。如果可能,我想通过 data.table 中的索引位置将因变量和协变量传递给 auto.arima。我想我理解正确的方法如下:我的因变量“需求”在 DATATABLE 的第 3 列中,协变量在第 4:22 列中。第 3 列和第 4 列都是连续变量,它们是 xts 对象,其他协变量是季节性虚拟变量。区域是第 2 列,用于将数据拆分为 24 个细分。
我创建了一个通用函数来运行 auto.arima 并提取系数。
arima.coef <-function(df) auto.arima(df[,3,with=FALSE], xreg=df[,4:22,with=FALSE])$coef
然后,我在模型对象列表“arima.coef”上使用 ddply 将 auto.arima 应用于每个数据子集,这些数据子集由具有 24 个级别的区域变量分割。
Coef.Region<-ddply(DATATABLE,.(Region),arima.coef)
我得到的错误如下:
Error in '[.data.frame'(df, ,3,with=FALSE):
unused argument (with=FALSE)
我的问题是:有人可以帮助我找出使用 data.table 的代码和逻辑,就像我使用 plyr 使用 data.frame 一样吗?我可以在不明确命名变量名的情况下使用它吗?谢谢