gpt4 book ai didi

r - 如何获取列表中同名元素的平均值

转载 作者:行者123 更新时间:2023-12-02 18:04:15 25 4
gpt4 key购买 nike

我制作了一个运行引导回归的函数(使用 plm)。我已经设法获得一个列表,其中包含每个重复的列表。在该子列表中,有两个系数,每个系数都有其名称。

所以我想知道是否可以通过仅调用名称来获取每个系数的平均值。

我可以做的最小示例是重复三次,因此列表如下所示:

> dput(b)
list(list(capital = 0.185108300831744, labor = 0.342750547967331),
list(capital = 0.219370274172395, labor = 0.302455636315905),
list(capital = 0.191813145986764, labor = 0.317630069307932))

因此,期望的结果是一个包含资本均值和劳动力均值的列表,如下所示:

> dput(result)
list(capital = 0.1987639, labor = 0.3209454)

提前致谢!

最佳答案

这是一个基本的 R 解决方案:

b <- list(list(capital = 0.185108300831744, labor = 0.342750547967331), 
list(capital = 0.219370274172395, labor = 0.302455636315905),
list(capital = 0.191813145986764, labor = 0.317630069307932))

my_names <- c('capital', 'labor')
result <- lapply(my_names, \(x) mean(sapply(b, '[[', x)))
names(result) <- my_names

result

$capital
[1] 0.1987639

$labor
[1] 0.3209454

或者,我们可以利用列表可以被视为数据框的事实:

result <- colMeans(do.call(rbind, lapply(b, as.data.frame)))

capital labor
0.1987639 0.3209454

关于r - 如何获取列表中同名元素的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73674802/

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