子集按变量(R)的最大值
问题描述:
如何通过数据框中某个变量的最大值创建子集?子集按变量(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
答
我们可以使用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