r-检查列表中的所有元素是否均与向量完全匹配

问题描述 投票:0回答:1

我有一个列表元素list_1,然后有一个向量vec_1。我希望能够确定是否在向量中找到了list元素的所有元素。它们需要完全匹配,如果找不到列表元素,则应打印该元素。例如,如果我循环通过list_1[1],它将返回TRUE,但是如果我循环通过list_1[2],它将返回foobars

list_1 <- list(x = c("apple", "toast"), y = c("foo", "bar", "bars"))
vec_1 <- c("pear", "apple", "toast", "x", "foos", "bar")
r lapply purrr grepl
1个回答
0
投票

我们可以使用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"
© www.soinside.com 2019 - 2024. All rights reserved.