У меня есть фрейм данных с двумя столбцами: a
и b
. Оба a
и b
имеют векторы разной длины, и я хочу создать еще один столбец с именем boolean
, который должен быть истинным, если хотя бы одно значение из вектора в b
присутствует в векторе в столбце a
. Однако я использовал следующие logi c и получаю false
для всех строк, хотя я должен получить true
для строк 1, 3 и 4. Воспроизводимый пример моей попытки выглядит следующим образом:
library(tidyverse)
library(tibble)
data_frame <-
tribble(
~a, ~b,
c("50", "50", "50", "3"), c("1", "2", "3"),
c("17", "50", "50", "50"), "19",
c("50", "28", "50", "3"), c("30", "28", "29"),
c("21", "19", "50", "50", "50"), c("19", "20", "18")
)
data_frame %>%
mutate(
boolean = if_else(
any(b %in% a),
"yes",
"no"
)
)
#> # A tibble: 4 x 3
#> a b boolean
#> <list> <list> <chr>
#> 1 <chr [4]> <chr [3]> no
#> 2 <chr [4]> <chr [1]> no
#> 3 <chr [4]> <chr [3]> no
#> 4 <chr [5]> <chr [3]> no
Что-то не так с тем, как я использую команду any
? Спасибо.