У меня есть фрейм данных со столбцом 1, который представляет собой вложенный список векторов символов. Колонка 2 - другой подобный список. Я хотел бы определить столбец 3, в котором элементы каждого символьного вектора присутствуют в столбце 1, но не в столбце 2.
Примерно так:
c1 c2 new c
c('a', 'b') c('b', 'd') 'a'
Я попытался отобразить setdiff:
my.tibble = tibble(
c1 = list(c('a', 'b'), c('b', 'c')),
c2 = list(c('d', 'e'), c('e', 'f'))
)
my.tibble = my.tibble %>%
mutate(
new.c = map(c1, ~ setdiff(., c2))
)
my.tibble$new.c
Он копирует c1 без изменений.
Если я делаю это по строкам, похоже, он запускает setdiff для каждого значения в векторах в c2.
my.tibble = my.tibble %>%
rowwise() %>%
mutate(
new.c = map(c1, ~ setdiff(., c2))
)
my.tibble$new.c
Я подозреваюМеня завалила структура списка, но я не знаю, как.