我目前有两个单独的数据帧,摘录按照下文:操纵R数据文件相框
MYDATA
Player TG% Pts Team Opp Yr Rd Grnd
John 56 42 A 1 2015 1 Grnd1
James 94 64 B 2 2015 1 Grnd2
Jerry 85 78 C 3 2015 1 Grnd3
Daniel 97 51 D 4 2015 1 Grnd4
John 89 61 A 1 2015 1 Grnd2
James 65 26 B 4 2015 1 Grnd3
Jerry 73 34 C 3 2015 1 Grnd2
Daniel 73 40 D 2 2015 1 Grnd2
John 89 26 A 1 2015 1 Grnd3
James 92 42 B 3 2015 1 Grnd1
Jerry 89 25 C 2 2015 1 Grnd2
Daniel 80 41 D 4 2015 1 Grnd2
John 73 82 A 3 2015 1 Grnd3
James 73 41 B 4 2015 1 Grnd3
Jerry 89 76 C 2 2015 1 Grnd1
Daniel 91 77 D 1 2015 1 Grnd2
轮
Team Opp Grnd
A 1 Grnd1
B 3 Grnd4
C 4 Grnd2
D 2 Grnd3
我希望能够做什么是操纵这个,以便我生成第二个数据帧,如下所示
Player Gms Avg.Pts Avg.Last3 Avg.v.Opp [email protected]
John
James
Jerry
Daniel
我知道如何在Excel中做到这一点,但是我R中挣扎
克 - 游戏对于每一个玩家总数(EXCEL将COUNTIF)
Avg.Pts - 这是平均每个玩家名称的分数(excel会以平均值计算)
Avg.Last3 - 这是每个玩家在过去3场比赛中得分的平均值,请注意,数据框与最近的最后一场比赛相符的数据帧。
Avg.v.Opp - 这是每个玩家对数据框轮定义的下一个对手的平均值。例如John为A队效力,他的下一个对手是Opp 1.(excel将是averageifs)
平均@。Grnd - 这是在数据fram中定义的每个球员在下一个地面的平均值。例如,约翰为A队效力,他的下一场比赛是在Grnd1举行。 (excel将averageifs)
我试过使用dplyr和其他一些选项,但似乎没有成功地把这个阶段的工作。请注意,mydata数据框运行超过10,000多行。
这个伟大的工程,都只是“Avg.at.Grnd =平均值( Pts [Grnd == next_grnd])',我得到一个错误的_Error:因素的水平集是不同的_。这可能与事实并不是每周都播放所有的理由有关。 – Morts81
是的,如果你将'Grnd'和'next_grnd'都转换成字符而不是将要处理它的因素列。我将在修改中编辑'dplyr'。 – Gregor
非常好,谢谢你,非常感谢。 – Morts81