r - 如果 A 列和 B 列在 C 列中有多个对应值,则删除行
问题描述
我有三列数据,如果 A 列在 B 列中有多个对应值,我想删除该行。
我的数据:
A B C
1 20001 66732 9526
2 20001 66748 9526
3 20001 66748 9530
4 20001 66749 9527
5 20001 66749 9528
6 20001 66749 9529
7 20001 66749 9530
8 20001 66751 9526
9 20001 66751 9527
10 20001 66751 9528
例如,第一行不会被删除,因为 A 和 B 列在 C 列中只有一个对应值。第二和第三行将被删除,因为 A 和 B 列在 C 列中有多个对应值。 4-10 也将基于相同的条件被删除。
是否有更直接的方法可以使用循环来完成此任务?任何帮助,将不胜感激。
解决方案
library(dplyr)
df %>%
group_by(A, B) %>%
mutate(n = n()) %>%
filter(n == 1)
推荐阅读
- django - 我如何在 settings.py 文件中设置 default_currency= "INR" 因为它在项目中多次使用?
- bash - 如果在后台调用,bash 中的循环会表现得很奇怪
- node.js - 在 AsyncWork.OnOK 函数中调用 Promise::Defered.Resolve() 时崩溃
- elasticsearch - 如何通过句子的开头正确过滤值?使用 Logstash 中的模式
- .net - HttpRequest 的 Nlog 布局渲染器,其中排除了 Authorization 标头
- selenium - WinAppDriver - 如何使用 WinAppDriver 和 Appium 控制多个桌面应用程序
- sql-server - SQL 数据透视表
- machine-learning - 使用 LSTM 和 CNN 对 Keras 进行故障排除以进行时间序列分类
- php - 将 VB6 代码转换为 PHP - 字节作为参数?
- python - 基于动态列表从ini文件中检索多个配置键