开始使用免费开始使用

随时间变化的死亡率

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])))))
编辑并运行代码