根据列值从2个相同的行中选择1个行

时间:2019-07-24 15:24:07

标签: r

我有数据(数据帧),其中一列(id)上的行2乘2相似,而其他列上的行不同。在这些列中,有一个值。我只想保留最大值的行,而舍弃其他

对于以下数据,请丢弃具有最小值的给定ID的行
    ID,子ID,值
    1,1,5 =>保持
    1,4,3 =>丢弃
    2,6,10 =>保持
    2,4,1 =>丢弃
    3,9,0 =>丢弃
    3,1,1 =>保持
    ..

1 个答案:

答案 0 :(得分:0)

一种选择是按'ID'和slice分组,其中'Value'为max的行

library(dplyr)
df1 %>%
   group_by(ID) %>%
   slice(which.max(Value))
# A tibble: 3 x 3
# Groups:   ID [3]
#     ID Sub_ID Value
#  <int>  <int> <dbl>
#1     1      1     5
#2     2      6    10
#3     3      1     1

如果要删除min“值”

df1 %>%
  group_by(ID) %>%
  slice(-which.min(Value))