首页 > 解决方案 > 如何使用决胜局在 R 中创建具有最高值的列表

问题描述

我正在尝试在过去 30 多年中在 R 中创建一个在一年中命中次数最多的棒球运动员列表,但我需要有一个决胜局,以防两名球员的命中次数相同。我目前正在使用类似的公式

mosthits <- merge(aggregate(hits ~ year, data=battingstats, max), battingstats, all.x=T)

但这并没有考虑到关系。我如何创建一个决胜局,例如哪个球员在那个赛季的本垒打最多?

标签: rdplyr

解决方案


使用dplyr,我们可以按安打然后按本垒打排序,然后保留每年的第一行:

library(dplyr)
battingstats %>%
  arrange(year, desc(hits), desc(homeruns)) %>%
  group_by(year) %>%
  slice(1)

推荐阅读