gpt4 book ai didi

r - 如何部分更新或合并 R 中的列表?

转载 作者:行者123 更新时间:2023-12-04 01:59:27 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Combine lists while overriding values with same name in R

(2 个回答)


7年前关闭。




这是一个R列表:

list1 <- list(var1=1,var2=list(var21=1,var22=2,var23=list(var231=1,var232=0)))

这是另一个R列表:
list2 <- list(var1=3,var2=list(var22=0,var23=list(var232=1,var233=2)),var3=list(var31=1))

现在我要更新 list1来自 list2 ,这应该包括更新现有值和引入新值。结果 var1 , var22 , var232应更新为 list2 中指定的值, 和 var233 , var3 , var31应作为新条目引入。因此更新后的列表应该是这样的:
list(var1=3,var2=list(var21=1,var22=0,var23=list(var231=1,var232=2,var233=2)),var3=list(var31=1))

它与默认设置和用户特定设置非常相似。默认设置应由用户特定设置加载和更新。在我的使用中,我只是从 JSON 文件 ( default.json ) 创建一个 R 列表作为默认设置,并希望通过另一个 JSON 文件 ( user.json ) 生成的另一个列表更新默认设置,就像许多程序一样。

是否有现有的软件包或一些简单/体面的方法来做到这一点?

最佳答案

有一个 modifyList为了这些目的。请注意,我更正了 list3定义,您想要的输出中存在错误。

list4 <- modifyList(list1, list2)
list3 <- list(var1=3,var2=list(var21=1,var22=0,var23=list(var231=1,var232=1,var233=2)),var3=list(var31=1))
all.equal(list3, list4)
[1] TRUE

关于r - 如何部分更新或合并 R 中的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21755522/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com