始める無料で始める

時系列で見る死亡率

シンシアは、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])))))
コードを編集して実行