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)
Обратите внимание, что это вернет
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
Если вы также хотите удалить две строки, где qol == 1, но идентификаторы разные,просто сделайте:
filtered_df <- test_df %>%
group_by(ID, qol) %>%
filter(n()>1)
Это вернет пример вывода, который вы указали в вопросе.