我有一个列表元素list_1
,然后有一个向量vec_1
。我希望能够确定是否在向量中找到了list元素的所有元素。它们需要完全匹配,如果找不到列表元素,则应打印该元素。例如,如果我循环通过list_1[1]
,它将返回TRUE
,但是如果我循环通过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")
我们可以使用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"