2017-02-12 71 views
-2

如何通过数据框中某个变量的最大值创建子集?子集按变量(R)的最大值

我有以下的数据帧,从中我想通过名字提取V1的最高值:

name V1 V2 
1 name1 1 f 
2 name1 2 b 
3 name1 5 c 
4 name2 3 f 
5 name2 8 g 
6 name2 2 m 

子集应该是这样的

name V1 V2 
3 name1 5 c 
5 name2 8 g 

回答

-2

我们可以使用dplyr。 'name'分组后slice'V1'的最大值所在的行

library(dplyr) 
df1 %>% 
    group_by(name) %>% 
    slice(which.max(V1)) 
# name V1 V2 
# <chr> <int> <chr> 
#1 name1  5  c 
#2 name2  8  g