加入R中的列表

Fra*_*nez 6 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)
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)

  • +1.以前从未见过这个功能! (4认同)

A5C*_*2T1 5

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)