我正在尝试将auto.arima应用于已从dataframe对象转换为data.table对象的数据。我的data.table有一个因变量和协变量,所以我在我的代码中使用了xreg。我选择使用data.tables,因为我读到我的代码使用data.table运行得更快。我的时间序列也是xts对象。 如果可能的话,我想通过data.table中的索引位置将因变量和协变量传递给auto.arima。我以为我明白这样做的正确方法如下: 我的因变量“需求”位于DATATABLE的第3列,协变量位于第4:22列。 第3列和第4列都是连续变量,它们是xts对象,其他协变量是季节性虚拟变量。 Region是第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一样?我可以在没有明确命名变量名的情况下使用它吗? 谢谢