首页 > 解决方案 > 仅选择两行以上存在相同值的行

问题描述

我有一个数据框如下:

ID    Text    
1234   fsfds
1234   sgge
1234   adfdf
543    sfsf
23     qfsg
23     swfr
6435   iuhg
6435   sonf
6435   ooos

我只想选择那些 ID 出现三次或更多的列,因此预期的输出

ID    Text
1234   fsfds
1234   sgge
1234   adfdf
6435   iuhg
6435   sonf
6435   ooos

如何仅在一列中选择具有相同值的列?

我试过了,但出错了

library(dplyr)
    myData %>% group_by(ID) %>%
      slice(sort(c(which(ID), which(ID) + 1)))

Error in slice_impl(.data, dots) : 
  Evaluation error: argument to 'which' is not logical.

标签: r

解决方案


你想要filter()

library(dplyr)
myData %>% group_by(ID) %>% filter(n() > 2)

仅保留超过 2 行的组。


推荐阅读