!データを入れ子にする あるデータをgroup_by()で分類したら、その分類された単位で一つのデータとして扱いたい。 そういうときは、nest()によってデータの階層を下げてやる。 gapminder::gapminder %>% group_by(continent, year) %>% #1 データをグループ別にポイントした(並べ替えただけ) nest() %>% #2 ネストにしてグループ単位のデータにする mutate(model = map(data, fun) ) #3 ↓参照 !ネスト化されたデータを扱う 上記で、ネストしたデータはそれを一つのデータとして処理の対象にできる。ゆえにデータフレーム単位での処理ができる。 data はネストによって作られる単位であり、それを対象に関数funでマッピングして処理した結果を、modelという項目に入れている。 !map_dbl() map()を使った演算は、返り値がlist型になるので不便。よって、map_dbl(data, fun)を使って、返り値をdouble型にする。 !ネストから戻す dataはネストされているとすれば、元に戻すには、unnest()を使う。 unnest(data) によって、dataの階層の下のデータがバラバラに蘇る。 :参考: * [map脳になろう、もしくはnested dataのハンドリング|https://qiita.com/kilometer/items/7184904765fbf0f33f04]