После группировки по 'colA', filter
строк, проверяя, есть ли all
элементы в vector
(c('11', ...., '21')
), есть %in%
paste
d, 'colB', 'colC'
library(dplyr)
library(stringr)
df1 %>%
group_by(colA) %>%
filter( all(c('11', '22', '12', '21') %in% str_c(colB, colC)))
# A tibble: 5 x 3
# Groups: colA [1]
# colA colB colC
# <chr> <int> <int>
#1 buy 1 2
#2 buy 2 2
#3 buy 2 1
#4 buy 1 1
#5 buy 1 1
data
df1 <- structure(list(colA = c("become", "become", "become", "borrow",
"break", "break", "bridge", "build", "buy", "buy", "buy", "buy",
"buy"), colB = c(2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L,
1L, 1L), colC = c(1L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 1L,
1L, 1L)), class = "data.frame", row.names = c(NA, -13L))