Предположим, у меня есть список x
, как показано ниже:
library(purrr)
set.seed(4152)
x <- rerun(5, a = sample(c("A","B","C","D"),1), b = c(1,2,3,4,5))
x
[[1]]
[[1]]$a
[1] "B"
[[1]]$b
[1] 1 2 3 4 5
[[2]]
[[2]]$a
[1] "B"
[[2]]$b
[1] 1 2 3 4 5
[[3]]
[[3]]$a
[1] "C"
[[3]]$b
[1] 1 2 3 4 5
[[4]]
[[4]]$a
[1] "C"
[[4]]$b
[1] 1 2 3 4 5
[[5]]
[[5]]$a
[1] "A"
[[5]]$b
[1] 1 2 3 4 5
Я хотел бы keep
всех элементов в списке x
, что $a %in% c("A","C")
, поэтому я попытался:
x_sub <- x %>%
keep(., "a" %in% c("A","C"))
Error: length(.p) == length(.x) is not TRUE
Я думаю, что это естественный способ кодирования, основанный на моем понимании функции keep
. Почему он сообщает об ошибке? Любые предложения приветствуются.