時系列で見る死亡率
シンシアは、Human Mortality Database (HMD) からベルギーの最新の死亡率データをダウンロードしました。このデータセットは life_table としてあらかじめ読み込まれています。
この演習では、よく使われる2つの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行を表示し、range()(ドキュメント) でyear変数の範囲を計算してください。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])))))