我有一个包含列表的数据框
Id lists
1 5,2,3
2 2,3,4
我想从列表中删除与另一列相同的元素
Id lists
1 5,2,3
2 3,4
答案 0 :(得分:2)
这里是tidyverse
的一个选项。使用map2
中的purrr
,用'Id'遍历相应的list
列'lists',并用setdiff
获取在'Id'中找不到的元素
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")