group_by() %>% nest()のショートカット。↑のExamplesのコードがわかりやすいのでそのまま実行してみる。
_if()、_at()はあるけど_all()はない。まあ当然か...
library(dplyr, warn.conflicts = FALSE)
starwars %>%
nest_by(species, homeworld)
#> # A tibble: 58 x 3
#> species homeworld data
#> <chr> <chr> <list>
#> 1 <NA> <NA> <tibble [2 x 11]>
#> 2 <NA> Naboo <tibble [2 x 11]>
#> 3 <NA> Umbara <tibble [1 x 11]>
#> 4 Aleena Aleen Minor <tibble [1 x 11]>
#> 5 Besalisk Ojom <tibble [1 x 11]>
#> 6 Cerean Cerea <tibble [1 x 11]>
#> 7 Chagrian Champala <tibble [1 x 11]>
#> 8 Clawdite Zolan <tibble [1 x 11]>
#> 9 Droid <NA> <tibble [2 x 11]>
#> 10 Droid Naboo <tibble [1 x 11]>
#> # ... with 48 more rows
starwars %>%
nest_by_at(vars(ends_with("_color")))
#> # A tibble: 67 x 4
#> hair_color skin_color eye_color data
#> <chr> <chr> <chr> <list>
#> 1 <NA> gold yellow <tibble [1 x 10]>
#> 2 <NA> green black <tibble [1 x 10]>
#> 3 <NA> green-tan, brown orange <tibble [1 x 10]>
#> 4 <NA> white, blue red <tibble [1 x 10]>
#> 5 <NA> white, red red <tibble [1 x 10]>
#> 6 auburn fair blue <tibble [1 x 10]>
#> 7 auburn, grey fair blue <tibble [1 x 10]>
#> 8 auburn, white fair blue-gray <tibble [1 x 10]>
#> 9 black blue, grey yellow <tibble [1 x 10]>
#> 10 black brown brown <tibble [1 x 10]>
#> # ... with 57 more rows
starwars %>%
nest_by_if(is.numeric)
#> # A tibble: 82 x 4
#> height mass birth_year data
#> <int> <dbl> <dbl> <list>
#> 1 66 17 896 <tibble [1 x 10]>
#> 2 79 15 NA <tibble [1 x 10]>
#> 3 88 20 8 <tibble [1 x 10]>
#> 4 94 45 NA <tibble [1 x 10]>
#> 5 96 32 33 <tibble [1 x 10]>
#> 6 96 NA NA <tibble [1 x 10]>
#> 7 97 32 NA <tibble [1 x 10]>
#> 8 112 40 NA <tibble [1 x 10]>
#> 9 122 NA NA <tibble [1 x 10]>
#> 10 137 NA NA <tibble [1 x 10]>
#> # ... with 72 more rowsCreated on 2018-07-16 by the reprex package (v0.2.0).
Session info
devtools::session_info()
#> Session info -------------------------------------------------------------
#> setting value
#> version R version 3.5.1 (2018-07-02)
#> system x86_64, mingw32
#> ui RTerm
#> language (EN)
#> collate Japanese_Japan.932
#> tz Asia/Tokyo
#> date 2018-07-16
#> Packages -----------------------------------------------------------------
#> package * version date source
#> assertthat 0.2.0 2017-04-11 CRAN (R 3.5.0)
#> backports 1.1.2 2017-12-13 CRAN (R 3.5.0)
#> base * 3.5.1 2018-07-02 local
#> bindr 0.1.1 2018-03-13 CRAN (R 3.5.0)
#> bindrcpp * 0.2.2 2018-03-29 CRAN (R 3.5.0)
#> cli 1.0.0 2017-11-05 CRAN (R 3.5.0)
#> compiler 3.5.1 2018-07-02 local
#> crayon 1.3.4 2017-09-16 CRAN (R 3.5.0)
#> datasets * 3.5.1 2018-07-02 local
#> devtools 1.13.6 2018-06-27 CRAN (R 3.5.0)
#> digest 0.6.15 2018-01-28 CRAN (R 3.5.0)
#> dplyr * 0.7.99.9000 2018-07-16 local
#> evaluate 0.10.1 2017-06-24 CRAN (R 3.5.0)
#> fansi 0.2.3 2018-05-06 CRAN (R 3.5.1)
#> glue 1.2.0 2017-10-29 CRAN (R 3.5.0)
#> graphics * 3.5.1 2018-07-02 local
#> grDevices * 3.5.1 2018-07-02 local
#> htmltools 0.3.6 2017-04-28 CRAN (R 3.5.0)
#> knitr 1.20.2 2018-05-10 local
#> magrittr 1.5 2014-11-22 CRAN (R 3.5.0)
#> memoise 1.1.0 2018-06-13 Github (hadley/memoise@06d16ec)
#> methods * 3.5.1 2018-07-02 local
#> pillar 1.3.0 2018-07-14 CRAN (R 3.5.1)
#> pkgconfig 2.0.1 2017-03-21 CRAN (R 3.5.0)
#> purrr 0.2.5 2018-05-29 CRAN (R 3.5.0)
#> R6 2.2.2 2017-06-17 CRAN (R 3.5.0)
#> Rcpp 0.12.17 2018-05-18 CRAN (R 3.5.0)
#> rlang 0.2.1 2018-05-30 CRAN (R 3.5.0)
#> rmarkdown 1.10 2018-06-11 CRAN (R 3.5.0)
#> rprojroot 1.3-2 2018-01-03 CRAN (R 3.5.0)
#> stats * 3.5.1 2018-07-02 local
#> stringi 1.2.3 2018-06-12 CRAN (R 3.5.0)
#> stringr 1.3.1 2018-05-10 CRAN (R 3.5.0)
#> tibble 1.4.2 2018-01-22 CRAN (R 3.5.0)
#> tidyselect 0.2.4 2018-02-26 CRAN (R 3.5.0)
#> tools 3.5.1 2018-07-02 local
#> utf8 1.1.4 2018-05-24 CRAN (R 3.5.0)
#> utils * 3.5.1 2018-07-02 local
#> withr 2.1.2 2018-06-26 Github (jimhester/withr@fe56f20)
#> yaml 2.1.19 2018-05-01 CRAN (R 3.5.0)