Сохранить результаты setdiff в ячейке данных - PullRequest
1 голос
/ 30 марта 2020

Вот мой пример:

library(dplyr)
my_df <- data.frame( col_1 = I(list(c(1,2), 1 )), col_2 = c(1,2))
my_df <- my_df %>% rowwise(diff = setdiff(col_1, col_2))

Выдает ошибку:

Error in rowwise(., diff = setdiff(col_1, col_2)) : 
  unused argument (diff = setdiff(col_1, col_2))

Что не так и как это исправить? Есть мысли?

Обновление: мой плохой, я просто забыл добавить mutate

my_df <- data.frame( col_1 = I(list(c(1,2), 1 )), col_2 = c(1,2))
my_df <- my_df %>% rowwise() %>% mutate(diff = setdiff(col_1, col_2))

1 Ответ

1 голос
/ 30 марта 2020

Опция map2, так как оба столбца list

library(dplyr)
library(purrr)
my_df %>%
     mutate(diff = map2(col_1, col_2, setdiff))

Или если нам нужно использовать rowwise

my_df %>%
    rowwise %>% 
    mutate(diff = setdiff(col_1, col_2))
...