Apply a function to each z group using group_modify()
      Source: R/var_group_modify.R
      var_group_modify.RdApply a function to each z group using group_modify()
Arguments
- var_grp_df
- the var_grp dataframe 
- .f
- a function with the signature - function(x,y,z,...)if the default- .subgroup=TRUEor of the form- function(xy,z,...)if- .subgroup=FALSE. If- .subgroup=TRUEThe function will be called once for each group and subgroup with the parameters- xbeing the data as a dataframe with usually multiple rows, and- yand- zbeing single row dataframes contianing the current subgroup and group respectively. Is- subgroup=FALSEthen only the major grouping- zis used and
- ...
- Arguments passed on to - dplyr::group_modify- .data
- A grouped tibble 
- .keep
- are the grouping variables kept in - .x
 
- .subgroup
- in the grouped data frames also subgroup by the - ycolumns
- .progress
- shoudl progress be reported with a progress bar. 
Examples
tmp = iris %>% dplyr::group_by(Species) %>% var_group(. ~ Petal.Width + Petal.Length)
tmp2 = tmp %>% var_group_modify(
  ~ {
    Sys.sleep(0.02)
    return(.x %>% dplyr::count())
  },
  .progress=TRUE
)
#> ■■■■■■■■■■■                       32% | ETA:  2s
#> ■■■■■■■■■■■■■■■■■■■■■■■■          78% | ETA:  1s
#> ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■  100% | ETA:  0s
tmp3 = tmp %>% var_group_modify(~ .x %>% dplyr::count(), .subgroup=FALSE)
# .f with 2 parameters:
tmp %>% var_group_modify(
  ~ {
    return(tibble::tibble(
      Sepal.Area = .y$Sepal.Length*.y$Sepal.Width,
      Max.Petal.Area = max(.x$Petal.Length*.x$Petal.Width),
      n = nrow(.x)
    ))
  }
) %>% dplyr::filter(n>1)
#> 3 group(s): Species.
#> (subgroup) Sepal.Length + Sepal.Width ~ Sepal.Area + Max.Petal.Area + n (data)
#> # A tibble: 21 × 6
#>    Species Sepal.Length Sepal.Width Sepal.Area Max.Petal.Area     n
#>    <fct>          <dbl>       <dbl>      <dbl>          <dbl> <int>
#>  1 setosa           4.7         3.2       15.0           0.32     2
#>  2 setosa           4.8         3         14.4           0.42     2
#>  3 setosa           4.8         3.4       16.3           0.38     2
#>  4 setosa           4.9         3.1       15.2           0.3      2
#>  5 setosa           5           3.4       17             0.64     2
#>  6 setosa           5           3.5       17.5           0.96     2
#>  7 setosa           5.1         3.5       17.8           0.42     2
#>  8 setosa           5.1         3.8       19.4           0.76     3
#>  9 setosa           5.4         3.4       18.4           0.6      2
#> 10 setosa           5.4         3.9       21.1           0.68     2
#> # ℹ 11 more rows