随时间变化的死亡率
Cynthia 从 Human Mortality Database (HMD) 下载了比利时最新的死亡率数据。该数据集已预加载为 life_table。
在本练习中,您将使用两个常见的 R 函数。with()(文档)允许您在由数据框构建的局部环境中计算 R 表达式。这样就无需反复输入 life_table$ 来提取列。例如,可以用以下方式提取历年 18 岁人群的对数死亡率:
with(life_table, log(qx[age == 18]))
with() 和 subset()(文档)配合使用尤其方便。例如,返回 1999 年生命表中 18 岁人群的对数死亡率:
with(subset(life_table, year == 1999), log(qx[age == 18]))
本练习是课程的一部分
用 R 评估人寿保险产品
练习说明
- 先探索
life_table。使用head()打印前 6 行,并计算year变量的range()(文档)。 - 补全代码,在
life_table上正确使用subset(),绘制历年 18 岁女性的死亡率。 - 再次使用
subset()选择 1950 年的生命表,并绘制该年的死亡率曲线。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Explore life_table
___
___
# Plot the logarithm of the female mortality rates for (18) by year
with(___(___, ___),
plot(year, log(qx),
type = "l", main = "Log mortality rates (Belgium, females, 18-year-old)",
xlab = "Year t", ylab = expression(paste("Log mortality rate ", log(q[18])))))
# Plot the logarithm of the female mortality rates in the year 1950 by age
with(___(___, ___),
plot(age, log(qx),
type = "l", main = "Log mortality rates (Belgium, females, 1950)",
xlab = "Age x", ylab = expression(paste("Log mortality rate ", log(q[x])))))