- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!データを入れ子にする
あるデータを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]