r - 检查列表中的所有元素是否与向量完全匹配
r - check is all elements of a list match a vector exactly
我有一个列表元素 list_1
,然后是一个向量 vec_1
。我希望能够确定是否在向量中找到了列表元素的所有元素。它们需要完全匹配,如果未找到列表元素,则应打印该元素。例如,如果我循环 list_1[1]
它会返回 TRUE
但如果我循环 list_1[2]
它 returns 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"
我有一个列表元素 list_1
,然后是一个向量 vec_1
。我希望能够确定是否在向量中找到了列表元素的所有元素。它们需要完全匹配,如果未找到列表元素,则应打印该元素。例如,如果我循环 list_1[1]
它会返回 TRUE
但如果我循环 list_1[2]
它 returns 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"