В идеале вы должны опубликовать воспроизводимый пример вместо картинок. Я создал один для тебя на этот раз.
Сначала мы можем найти значения unique
в кадре данных, а затем filter
те группы, которые имеют all
значения unique
.
unique_value <- unique(df$value)
library(dplyr)
df %>%
group_by(group) %>%
filter(all(unique_value %in% value))
# group value
# <fct> <dbl>
#1 a 1
#2 a 2
#3 a 3
#4 a 4
Используя базу R, мы можем использовать ave
и subset
фрейм данных.
subset(df, as.logical(ave(value, group, FUN = function(x) all(unique_value %in% x))))
данные
df <- data.frame(group = c("a", "b", "c", "a", "a", "a", "c"),
value = c(1, 1, 1, 2, 3, 4, 2))