r - 使用 ddply 选择特定行等

标签 r plyr

我有一个基于足球运动员在一个赛季中进球的数据框(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/

相关文章:

r - 获取数据框中的前 n 行?

r - 如何从 R 中的数据框中获取唯一对?

r - 按组缩放/标准化列

r - 根据列名称绑定(bind)数据框(超过 10^8 列)的最有效方法

r - 如何按组拆分数据表并按列中的出现次数使用子集?

r - 如何生成向量的所有组合

r - 基于 R 中的日期列使用连续日期扩展数据框

r - 为什么从 geom_point 切换到 geom_line 时数据似乎丢失了?

r - 使用 dplyr 的 rename() 包括不在数据集中的变量名称

r - R中基于不等式的条件累积和