r - проверка, все ли элементы списка точно соответствуют вектору - PullRequest
0 голосов
/ 12 марта 2020

У меня есть элемент списка list_1, а затем вектор vec_1. Я хотел бы иметь возможность определить, все ли элементы элемента списка находятся в векторе. Они должны точно соответствовать, и если элемент списка не найден, этот элемент должен быть напечатан. Например, если я l oop через list_1[1], он вернется TRUE, но если я l oop через list_1[2], он вернет foo и bars.

list_1 <- list(x = c("apple", "toast"), y = c("foo", "bar", "bars"))
vec_1 <- c("pear", "apple", "toast", "x", "foos", "bar")

1 Ответ

1 голос
/ 12 марта 2020

Мы можем использовать lapply:

lapply(list_1, function(x) if(all(x %in% vec_1)) TRUE else setdiff(x, vec_1))

#$x
#[1] TRUE

#$y
#[1] "foo"  "bars"
...