隨時間變化的死亡率
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()(文件)。 - 補上使用
subset()的正確程式碼,從life_table繪製出歷年 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])))))