r - 仅选择两行以上存在相同值的行
问题描述
我有一个数据框如下:
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.
解决方案
你想要filter()
。
library(dplyr)
myData %>% group_by(ID) %>% filter(n() > 2)
仅保留超过 2 行的组。
推荐阅读
- mongodb - 如果存在,则根据值对 mongo 集合进行分组,否则不分组,按原样显示
- javascript - scrollspy 导航栏在滚动后保持活动状态
- html - 修复没有最小高度的溢出
- docker - 我得到无法连接到 unix:///var/run/docker.sock 上的 Docker 守护程序。尝试运行 docker 命令时是 docker 守护进程吗
- c++ - 如何快速清除 SFML-Image?C++
- f# - 将函数应用于每个元素以在 F# 中生成具有产量的序列
- javascript - 使用 useState 时如何更改对象中的值
- python - 在 pytest 中跳过参数化测试
- javascript - 使用 onclick 从对象数组呈现数据
- python - 为什么类方法在python中必须有self参数?