We could use if_all
.
See https://www.tidyverse.org/blog/2021/02/dplyr-1-0-4-if-any/
library(dplyr) #> 1.1.0
df %>%
filter(if_all(everything(), ~ . %in% c(1,2)), .by = RID)
RID DESIGN_ROW SCENARIO SEQ CHOICE variable1 variable2 variable3 variable4 variable5 variable6 variable7
1 9 1 1 2 1 1 2 2 2 2 1 2
modified data (last row contains only 1 and 2):
structure(list(RID = c(12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L,
12L, 12L, 12L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L,
18L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 9L), DESIGN_ROW = c(23L,
24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 12L, 13L, 14L,
15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 1L, 2L, 3L, 4L, 5L, 6L,
7L, 8L, 9L, 10L, 11L, 1L), SCENARIO = c(1L, 2L, 3L, 4L, 5L, 6L,
7L, 8L, 9L, 10L, 11L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L,
11L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 1L), SEQ = c(6L,
5L, 3L, 10L, 11L, 9L, 7L, 8L, 4L, 1L, 2L, 9L, 1L, 3L, 11L, 5L,
6L, 7L, 4L, 2L, 10L, 8L, 6L, 5L, 3L, 4L, 11L, 9L, 7L, 1L, 2L,
10L, 8L, 2L), CHOICE = c(2L, 2L, 2L, 2L, 1L, 1L, 2L, 1L, 2L,
1L, 1L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 1L,
1L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 1L), variable1 = c(4L, 4L, 1L,
3L, 3L, 2L, 1L, 2L, 1L, 1L, 2L, 1L, 4L, 1L, 1L, 3L, 1L, 1L, 3L,
3L, 4L, 2L, 2L, 2L, 4L, 1L, 3L, 2L, 4L, 4L, 4L, 4L, 3L, 1L),
variable2 = c(4L, 4L, 4L, 4L, 3L, 4L, 4L, 3L, 3L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 2L, 4L, 4L, 4L, 4L, 4L, 3L,
3L, 3L, 4L, 4L, 3L, 3L, 4L, 2L), variable3 = c(1L, 3L, 1L,
3L, 3L, 1L, 1L, 3L, 2L, 3L, 2L, 3L, 2L, 3L, 2L, 1L, 2L, 3L,
2L, 2L, 1L, 2L, 1L, 1L, 3L, 1L, 2L, 2L, 3L, 2L, 2L, 3L, 3L,
2L), variable4 = c(3L, 1L, 3L, 3L, 2L, 4L, 3L, 4L, 2L, 1L,
2L, 4L, 2L, 4L, 1L, 3L, 1L, 4L, 4L, 2L, 4L, 3L, 3L, 1L, 3L,
2L, 4L, 3L, 3L, 3L, 4L, 1L, 1L, 2L), variable5 = c(4L, 1L,
4L, 4L, 3L, 3L, 4L, 3L, 2L, 1L, 2L, 3L, 1L, 4L, 1L, 1L, 2L,
4L, 4L, 1L, 3L, 4L, 4L, 1L, 1L, 3L, 3L, 2L, 1L, 2L, 2L, 1L,
1L, 2L), variable6 = c(2L, 2L, 2L, 2L, 1L, 1L, 2L, 3L, 3L,
3L, 1L, 1L, 3L, 3L, 2L, 4L, 4L, 3L, 3L, 3L, 2L, 2L, 2L, 2L,
4L, 1L, 3L, 2L, 4L, 1L, 3L, 4L, 3L, 1L), variable7 = c(1L,
4L, 1L, 1L, 1L, 2L, 1L, 1L, 3L, 3L, 1L, 2L, 4L, 1L, 4L, 4L,
3L, 1L, 1L, 2L, 2L, 2L, 1L, 4L, 4L, 1L, 2L, 1L, 4L, 1L, 1L,
3L, 4L, 2L)), class = "data.frame", row.names = c(NA, -34L
))