我有一个基于足球运动员在一个赛季中进球的数据框(df 是示例行)的三部分问题
Player Season Goals
Teddy Sheringham 1992/3 22
Les Ferdinand 1992/3 20
Dean Holdsworth 1992/3 19
Andy Cole 1993/4 34
Alan Shearer 1993/4 31
Chris Sutton 1993/4 25
如果我想每年获得最佳射手,我可以使用
ddply(df, "Season", summarise, maxGoals = max(Goals),
Player=Player[which.max(Goals)])
问题:
1) 它不适用于这种情况,但如果有联合得分最高的球员,这就足够了
2) 我也对每个赛季的 runner 被提取感兴趣。我尝试过按目标降序和索引 2 进行排序,但尚未找到解决方案
3)另外,我如何根据进球数获得每年的计数值,例如,根据上述数据,Goals>20 应该为 1992/3 提供 1,为 1993/4 提供 3
最佳答案
如果有多个最佳玩家,则该表达式将仅报告其中一个(具体来说,是当年数据框中的第一个)。
对于第二季度:
d = ddply(df, "Season", summarise, SecondPlayer=Player[order(Goals)[length(Goals)-1]])
对于第三季度:
d = ddply(df, "Season", summarise, Count=sum(Goals > 20))
关于r - 使用 ddply 选择特定行等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9874471/