Provides an alternative to the dplyr:do() using nest(), mutate() and map() to apply a function to a grouped data frame.

doo(.data, .fun, ...)

Arguments

.data

a (grouped) data frame

.fun

A function, formula, or atomic vector.

...

Additional arguments passed on to .fun

Value

a data frame

Details

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.

Author

Tiago Olivoto tiagoolivoto@gmail.com

Examples

# \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>
# }