我有一个数据框,其中包含与分数对应的分数列表和名称。有些人出现不止一次,但我只想从每个人那里获得最高分。下面提供了数据框的样本。
V1 Names
1574 98.76 Lebron James
1587 98.33 Lebron James
1588 97.32 Lebron James
1713 65.97 Dwyane Wade
1730 100.4 Chris Paul
1734 98.38 Chris Paul
因此,在我的数据框的最终形式中,除了行1574,1713和1730(保持每个人的最高分数)之外,将删除所有行。编写像这样的问题的最佳方法是什么?
答案 0 :(得分:0)
使用tidyverse的方法是:
library(tidyverse)
df %>%
group_by(Names) %>%
summarise(maxd = max(V1))
使用变量Names
上的summarize
函数对max
变量V1
组进行分组,并将其存储在调用maxd
的新变量中
在基地R:
aggregate(V1 ~ Names, data = df, max)