[英]How do I keep duplicates but remove unique values based on column in R
How can I keep my duplicates, but remove unique values based on one column(qol)? 如何保留重复项,但基于一列(qol)删除唯一值?
ID qol Sat
A 7 6
A 7 5
B 3 3
B 3 4
B 1 7
C 2 7
c 1 2
But I need this: 但我需要这个:
ID qol Sat
A 7 6
A 7 5
B 3 3
B 3 4
What can I do? 我能做什么?
dplyr solution: dplyr解决方案:
library(dplyr)
ID <- c("A", "A", "B", "B", "B", "C", "c")
qol <- c(7,7,3,3,1,2,1)
Sat <- c(6,5,3,4,7,7,2)
test_df <- data.frame(cbind(ID, qol, Sat))
filtered_df <- test_df %>%
group_by(qol) %>%
filter(n()>1)
Please note that this will return 请注意,这将返回
ID qol Sat
1 A 7 6
2 A 7 5
3 B 3 3
4 B 3 4
5 B 1 7
6 c 1 2
If you also want to remove the two rows where qol == 1 but the IDs are different, just do: 如果您还想删除qol == 1但ID不同的两行,只需执行以下操作:
filtered_df <- test_df %>%
group_by(ID, qol) %>%
filter(n()>1)
This will return the sample output you supplied in the question. 这将返回您在问题中提供的示例输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.