各ネスト済みデータセットへの線形回帰の実行
すでに各国ごとにデータをdata列の個別データセットに分割しました。次は、それぞれのデータセットに線形モデルを当てはめます。
purrrのmap()関数は、リストの各要素に式を適用します。ここで、.は各要素そのものを表します。たとえば、数値のリストそれぞれに1を足すには次のようにします。
map(numbers, ~ 1 + .)
同様に、各データセットにモデルを当てはめるには次のように書けます。
map(data, ~ lm(percent_yes ~ year, data = .))
ここでの.は、by_year_countryのdata列から取り出される各要素(各データセット)を表しています。data列の各要素は特定の国に対応するデータセットであることを思い出してください。
この演習はコースの一部です
ケーススタディ:Rで行う探索的データ分析
演習の手順
tidyrとpurrrパッケージを読み込みます。- ネスト化の後、
mutate()の中でmap()関数を使い、by_year_countryのdata列(各アイテムが各データセット)それぞれに対して、yearを説明変数、percent_yesを目的変数とする線形回帰を実行します。結果はmodel列に保存してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Load tidyr and purrr
# Perform a linear regression on each item in the data column
by_year_country %>%
nest(-country)