【发布时间】:2021-01-11 20:53:52
【问题描述】:
我正在尝试根据另一组的值选择行。这是虚拟数据框
das <- data.frame(weigh=c(10,30,15,11,14,50,30,32,34,60,17,31,2,6,66,5,4,20,21,12,8,56,6,19),
id =c(123,124,125,126,127,128,1223,1224,1226,1225,1227,1228,123,124,125,126,127,128,1223,1224,1225,1226,1227,1228),
label=c("A","A","A","A","A","A","B","B","B","B","B","B"),
category=c(1,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3))
我按类别和标签进行分组,然后选择权重最大的行。我喜欢这个。
das %>% group_by(category,label) %>% slice(which.max(weigh))
但我想做的是从另一个类别中的同一标签中捕获具有 id 值的行。所以这个虚拟示例中的预期输出是这样的
weigh id label category
50 128 A 1
15 125 A 1
60 1225 B 1
34 1226 B 1
66 125 A 3
20 128 A 3
56 1226 B 3
8 1225 B 3
【问题讨论】:
标签: r dplyr group-by tidyverse