トップ 一覧 検索 ヘルプ RSS ログイン 印刷

nest()の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!データを入れ子にする

あるデータを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]