我想加入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)
Run Code Online (Sandbox Code Playgroud)
一个人获得list3是 list('a'=1,'b'=10,'c'=100,'d'=4,'e'=98)
你知道怎么办?谢谢!
G. *_*eck 14
这给出了与您的示例相同的结果:
modifyList(list1, list2)
Run Code Online (Sandbox Code Playgroud)
setdiff 将显示哪些列表项在"list1"中但不在"list2"中:
> setdiff(names(list1), names(list2))
[1] "a" "d"
Run Code Online (Sandbox Code Playgroud)
您可以[通常的方式从"list1"中提取相关信息:
list1[setdiff(names(list1), names(list2))]
Run Code Online (Sandbox Code Playgroud)
然后你可以用c它们把它们全部重新组合在一起:
c(list1[setdiff(names(list1), names(list2))], list2)
# $a
# [1] 1
#
# $d
# [1] 4
#
# $b
# [1] 10
#
# $c
# [1] 100
#
# $e
# [1] 98
Run Code Online (Sandbox Code Playgroud)