访问 R 列表中双元素的问题

Problems with accessing double elements in a list in R

我已经对用于死亡率预测的 Lee Carter 模型进行了 2.000 次重采样的自举。 这个问题不是针对死亡率研究,而是针对 R 中更一般的维度。

执行引导程序后,我得到一个包含 2000 个元素的列表,每个元素对应模型的 2.000 次重新估计。对于每个模型,都有我的 3 个变量的估计值:a_x、b_x 和 k_t。 a_x 和 b_x 都是年龄特定的,因此“x”表示区间 [0:95] 中的年龄。

我现在想绘制年龄 x = 70 的所有 b_x 值的直方图。

### Performing the bootstrap:
JA_lc_fitM_boot1 <- bootstrap(LCfit_JA_M, nBoot = 2000, type = "semiparametric")

### Plotting the histogram with all b_x for x = 70:
JA_lc_fitM_boot1[["bootParameters"]][1:2000][["bx"]][[70]]

我尝试了多种选择,但我无法使它起作用。 触发我的是,我在列表的列表中使用双精度数。

我添加了下面数据的图片:

有人对此有解决方案吗?

看来您需要 apply 函数族。您的数据不可重现,所以我无法确认这是否有效,但如果您这样做:

result <- sapply(JA_lc_fitM_boot1[["bootParameters"]], function(var) var[["bx"]][[70]])

你应该得到你要找的东西。

您可能想看看 purrr 包和 map 函数系列,或者 tidyrhoist 函数。

(如果你想要有效的代码,你确实需要提供一些数据!)