在R中使用ave函数时,可变长度不匹配?

时间:2015-08-20 12:03:52

标签: r

我希望使用ave函数将arima()函数应用于我的数据帧的特定组。但是,arima函数要求我在xreg参数下列出一些变量,但我不知道如何以这样的方式指定xreg变量它们是相同的由ave函数分隔出的每个组的长度。

目前:

DKmerg
      Player        CPM        Play.at         Team
1  Dave Whitting   0.01111111    away              33
2  Dave Whitting   0.00000000    away              46
3  Dave Whitting   0.02222222    home              60
4  Dave Whitting   0.03333333    away              42
5  Dave Whitting   0.04444444    home              45
6     Aaron Bryann 0.00000000    away              49
7     Aaron Bryann 0.08064516    home              49
8     Aaron Bryann 0.00000000    away              68
9     Aaron Bryann 0.05555556    home              57
10    Aaron Bryann 0.01470588    away              68
11    Aaron Bryann 0.03333333    home              68
12    Aaron Bryann 0.03333333    home              68
13    Aaron Bryann 0.05555556    away              43
14    Aaron Bryann 0.03333333    home              75
15    Aaron Bryann 0.00000000    home              64
16    Mark Johnson 0.11111111    home              62
17    Mark Johnson 0.00000000    away              27
18    Mark Johnson 0.00000000    home              54
19    Mark Johnson 0.03333333    home              51
20    Mark Johnson 0.01333333    away              25

ave(DKmerg$CPM, DKmerg$Player, FUN = function(x) arima(x, order = c(1,0,1), xreg = cbind(DKmerg$Play.at, DKmerg$Team)))

导致错误,因为xxreg的长度不匹配。

我认为这是因为xreg变量是整个数据帧的长度,而不是ave函数分解的组的长度。

如何更改代码以使这些对象长度匹配?

0 个答案:

没有答案