gpt4 book ai didi

r - 嵌套在 R 中的嵌套列表中的过程向量

转载 作者:行者123 更新时间:2023-12-04 14:48:49 24 4
gpt4 key购买 nike

我有一个 listlistvector 如下所示:

myList = list(id1 = list(a=6:10,b=1:5),
id2 = list(a=3:8,b = 4:9))

我想用任意函数(例如,meansum 等)并将结果附加到每个嵌套的 list 中的第三个命名的 vector 以实现如下内容:

myList2 = list(id1 = list(a=6:10,b=1:5,c = mean(1:5)),
id2 = list(a=3:8,b = 4:9,c = mean(4:9)))

因此,我的问题分为两部分。首先,如何在每个嵌套的 list 中只处理第二个命名的 vector?其次,如何将结果附加到每个嵌套的 list

我知道我可以编写一个始终索引 myList[[i]][[2]]for 循环,但我正在寻找矢量化解决方案。我已经尝试使用各种组合 apply-family 和一个匿名 function ,首先测试 vector 的名称,例如:

rapply(myList, function(x) ifelse(names(x) == "b",
print("yes"), #process vector
print("no")), #move on to next x
how = "list"
)

但结果没有多大意义。

附加信息:我使用嵌套的 list 而不是 data.frame 因为我对每个 id 没有相同数量的观察,但我对可能绕过这些问题并适应不同数量的观察结果的替代方法持开放态度。

最佳答案

应该这样做

lapply(myList, function(x) {
x$c <- mean(x$b)
return(x)
})

关于r - 嵌套在 R 中的嵌套列表中的过程向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37633014/

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