访问 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
函数系列,或者 tidyr
和 hoist
函数。
(如果你想要有效的代码,你确实需要提供一些数据!)
我已经对用于死亡率预测的 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
函数系列,或者 tidyr
和 hoist
函数。
(如果你想要有效的代码,你确实需要提供一些数据!)