r удалить элементы из списка во фрейме данных - PullRequest
0 голосов
/ 14 марта 2019

У меня есть фрейм данных, в котором есть список

Id    lists
1     5,2,3
2     2,3,4

Я хотел удалить элемент из списка, который совпадает с другим столбцом

Id    lists
1     5,2,3
2     3,4

1 Ответ

2 голосов
/ 14 марта 2019

Вот вариант с tidyverse.Используя map2 из purrr, переберите соответствующие списки столбцов list с помощью «Id» и получите элементы, которые не найдены в «Id», с помощью setdiff

library(tidyverse)
df1 %>%
    mutate(lists = map2(lists, Id, setdiff))
#   Id   lists
#1  1 5, 2, 3
#2  2    3, 4

данные

df1 <- structure(list(Id = 1:2, lists = list(c(5, 2, 3), c(2, 3, 4))), 
  row.names = c(NA, 
 -2L), class = "data.frame")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...