始める無料で始める

ネストしたデータフレームでのモデリング

米陸軍の ANSUR II 体格計測データセットを使います。すでに ansur_df として読み込まれています。目的は、男女それぞれのデータをネストして、性別ごとに2つの線形モデルを同時に学習できるようにすることです。これらのモデルでは、身長(stature)とウエスト周囲長(waist circumference)から体重(weight)を推定します。その後、broom パッケージの glance() 関数で得られたモデル統計量を確認するために、データをアンネストします。

dplyrbroompurrr パッケージはあらかじめ読み込まれています。

補足: 提供されたコードでは、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
  ___
コードを編集して実行