加入R中的列表

时间:2014-02-04 16:50:06

标签: r list

我正在尝试加入R中的两个列表,但我真的不知道该怎么做。我需要一种方法来加入to列表,方法是只添加与第一个列表中名称不同的元素,例如:

list1=list('a'=1,'b'=2,'c'=3,'d'=4,'e'=5);
list2=list('b'=10,'c'=100,'e'=98);
list3=OpErAtIoN(list1,list2)

有人得到list3是list('a'=1,'b'=10,'c'=100,'d'=4,'e'=98)

你知道怎么办?谢谢!

2 个答案:

答案 0 :(得分:14)

这给出了与您的示例相同的结果:

modifyList(list1, list2)

答案 1 :(得分:5)

setdiff会显示哪些列表项在“list1”中,但不在“list2”中:

> setdiff(names(list1), names(list2))
[1] "a" "d"

您可以通常的方式使用[从“list1”中提取相关信息:

list1[setdiff(names(list1), names(list2))]

然后你可以使用c将它们重新组合在一起:

c(list1[setdiff(names(list1), names(list2))], list2)
# $a
# [1] 1
# 
# $d
# [1] 4
# 
# $b
# [1] 10
#
# $c
# [1] 100
# 
# $e
# [1] 98