我希望使用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)))
导致错误,因为x
和xreg
的长度不匹配。
我认为这是因为xreg
变量是整个数据帧的长度,而不是ave
函数分解的组的长度。
如何更改代码以使这些对象长度匹配?