如何检查特定元素是否存在于 R 中的数据帧列表中?

How to check whether a specific element exists in a list of dataframes in R?

假设我有以下数据帧列表:

A = list(fruits = data.frame(V1 = c("Apple", "Banana", "Orange")), vegetables = data.frame(V1 = c("cucumber", "lettuce")))

我想知道生菜存在于列表中的“蔬菜”数据框中,但不存在于水果中(可以是 TRUE 或 FALSE 或 0 或 1 输出)

我尝试了以下功能:

map_lgl(A, `%in%`, x = "lettuce") %>% as.integer()

但我得到的输出是 0 0。我还需要输出来表明“蔬菜”是列表中的数据框,其中“生菜”位于

看来我需要以某种方式访问​​列表的元素,但我不知道如何。

很抱歉,我是 R 的新手。非常感谢您的帮助

尝试使用 sapply :

sapply(A, function(x) 'lettuce' %in% x$V1)

#    fruits vegetables 
#     FALSE       TRUE 

获取名称:

names(A)[sapply(A, function(x) 'lettuce' %in% x$V1)]
#[1] "vegetables"

具有purrr个功能。

library(purrr)
map_lgl(A, ~'lettuce' %in% .x$V1)
#    fruits vegetables 
#     FALSE       TRUE 
map_int(A, ~'lettuce' %in% .x$V1)
#    fruits vegetables 
#         0          1 

我们可以使用lapply

unlist(lapply(A, function(x) 'lettuce' %in% x$V1))
#fruits vegetables 
# FALSE       TRUE