我制作了一个运行引导回归的函数(使用 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/