ネストしたデータフレームでのモデリング
米陸軍の ANSUR II 体格計測データセットを使います。すでに ansur_df として読み込まれています。目的は、男女それぞれのデータをネストして、性別ごとに2つの線形モデルを同時に学習できるようにすることです。これらのモデルでは、身長(stature)とウエスト周囲長(waist circumference)から体重(weight)を推定します。その後、broom パッケージの glance() 関数で得られたモデル統計量を確認するために、データをアンネストします。
dplyr、broom、purrr パッケージはあらかじめ読み込まれています。
補足: 提供されたコードでは、purrr パッケージの map() 関数が、各ネスト済みデータフレームに関数を適用します。パイプの中で関数を使うのが好きな方は、このパッケージをぜひチェックしてみてください!
この演習はコースの一部です
tidyrでデータを整形する
演習の手順
- データを
sexでグループ化します。 - データをネストします。
glanced列をアンネストします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
ansur_df %>%
# Group the data by sex
___ %>%
# Nest the data
___ %>%
mutate(
fit = map(data, function(df) lm(weight_kg ~ waist_circum_m + stature_m, data = df)),
glanced = map(fit, glance)
) %>%
# Unnest the glanced column
___