Поскольку Group
- список, мы не можем его напрямую сравнить.Одним из способов является использование mapply
df$Present <- c("No", "Yes")[mapply(`%in%`, df$Fruits, df$Group) + 1]
df
# Fruits Group Present
#1 Apple Apple, S.... Yes
#2 Banana Orange, Kiwi No
#3 Orange Apple, B.... No
#4 Kiwi Apple, Kiwi Yes
mapply
, возвращающих TRUE
/ FALSE
значений, а затем мы используем метод индексации для получения Yes
/ No
.
mapply(`%in%`, df$Fruits, df$Group)
#[1] TRUE FALSE FALSE TRUE
или аналогично purrr
map2_lgl
library(dplyr)
library(purrr)
df %>%
mutate(Present = c("No", "Yes")[map2_lgl(Fruits, Group, `%in%`) + 1])