R匹配字符串和删除

R matching of strings and deletion

我有一个数据框,其中包含分数列表和与分数对应的名称。有些人出现不止一次,但我只想从每个人身上取最好的分数。下面提供了数据框的示例。

      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 行(保留每个人的最高分)之外的所有行都将被删除。编写此类问题的最佳方法是什么?

使用 tidyverse 的方法是:

library(tidyverse)

df %>%
  group_by(Names) %>%
  summarise(maxd = max(V1))

Names 变量 summarize 分组后,使用函数 max 对变量 V1 进行分组,并将其存储在调用 maxd 的新变量中

在基数 R 中:

aggregate(V1 ~ Names, data = df, max)