Provides an alternative to the dplyr:do()
using nest()
,
mutate()
and map()
to apply a function to a grouped data frame.
doo(.data, .fun, ...)
.data | a (grouped) data frame |
---|---|
.fun | A function, formula, or atomic vector. |
... | Additional arguments passed on to |
a data frame
If the applied function returns a data frame, then the output will be automatically unnested. Otherwise, the output includes the grouping variables and a column named "data" , which is a "list-columns" containing the results for group combinations.
Tiago Olivoto tiagoolivoto@gmail.com
# \donttest{ library(metan) # Head the first two lines of each environment data_ge2 %>% group_by(ENV) %>% doo(~head(., 2))#> # A tibble: 8 x 18 #> ENV GEN REP PH EH EP EL ED CL CD CW KW NR #> <fct> <fct> <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 A1 H1 1 2.61 1.71 0.658 16.1 52.2 28.1 16.3 25.1 217. 15.6 #> 2 A1 H1 2 2.87 1.76 0.628 14.2 50.3 27.6 14.5 21.4 184. 16 #> 3 A2 H1 1 3.00 1.88 0.626 15.1 50.8 31.1 15.6 30.8 191. 16.4 #> 4 A2 H1 2 2.97 1.83 0.617 15.2 52.1 31.2 15.7 30.9 197. 17.2 #> 5 A3 H1 1 2.11 1.05 0.497 15.7 49.9 30.5 16.6 28.6 164. 15.6 #> 6 A3 H1 2 2.20 1.09 0.492 13.7 49.2 30.5 14.7 22.3 130. 16.4 #> 7 A4 H1 1 2.38 1.28 0.537 14.1 49.8 29.1 14.5 23.8 165. 17.2 #> 8 A4 H1 2 2.72 1.52 0.558 16.9 53.3 31.7 17.9 32.2 226. 18 #> # ... with 5 more variables: NKR <dbl>, CDED <dbl>, PERK <dbl>, TKW <dbl>, #> # NKE <dbl># Genotype analysis for each environment using 'gafem()' # variable PH data_ge2 %>% group_by(ENV) %>% doo(~gafem(., GEN, REP, PH, verbose = FALSE))#> # A tibble: 4 x 2 #> ENV data #> <fct> <list> #> 1 A1 <gafem> #> 2 A2 <gafem> #> 3 A3 <gafem> #> 4 A4 <gafem># }