【问题标题】:Joining Lists in R在 R 中加入列表
【发布时间】:2014-02-05 01:12:51
【问题描述】:

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

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)

你知道有什么方法吗?谢谢!

【问题讨论】:

    标签: r list


    【解决方案1】:

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

    modifyList(list1, list2)
    

    【讨论】:

    • 谢谢!!!我试图做的是编写一个函数,其中包含一组我不想出现在函数定义中的属性,通过这种方式,我将能够使用省略号来仅更改我想要的那些属性改变。谢谢!
    【解决方案2】:

    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
    

    【讨论】:

      猜你喜欢
      • 2013-12-31
      • 2016-08-15
      • 1970-01-01
      • 2021-06-12
      • 2016-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-22
      相关资源
      最近更新 更多