R - 合并列表的两个成员列表

时间:2015-04-10 08:25:27

标签: r list merge

我有以下表单的列表l

R> l
[[1]]
[1] 1

[[2]]
[1] 2

[[3]]
[1] 3

[[4]]
[1] 4

现在,我想要合并到此列表的成员列表中。例如,当我说我要合并l [[1]]和l [[2]]时,我希望结果为:

R> l
[[1]]
[1] 1 2

[[2]]
[1] 3

[[3]]
[1] 4

在合并两个列表时,我不需要在结果中使用dupilcate元素。因此,我在两个成员列表中使用union

R> union(l[[1]], l,[[2]])
[1] 1 2

我该怎么做这个合并操作?我可以使用一些预定义的功能吗? 感谢

1 个答案:

答案 0 :(得分:2)

您可以按如下方式编写自己的合并:

l <- as.list(1:4)

mymerge <- function(mylist, element1, element2){
  mylist[[element1]] <- union(mylist[[element1]], mylist[[element2]])
  mylist[[element2]] <- NULL
  return(mylist)
}

l <- mymerge(l,1,2)

结果:

> l
[[1]]
[1] 1 2

[[2]]
[1] 3

[[3]]
[1] 4

评论:正如akrun指出的那样,您也可以使用c代替union