R/dog_group_stat.R

Defines functions dog_group_stat

Documented in dog_group_stat

#' Group summaries
#'
#' A quick way to to calculate a grouped summary.
#'
#' @param df A data frame or tibble
#' @param group_var A variable to group by
#' @param summary_var A variable to calculate a summary
#' @param .f A function, e.g. mean, length, min, max, median.
#'
#' @return A tibble
#' @export
#'
dog_group_stat <- function(df, group_var, summary_var, .f) {

  func <- rlang::enquo(.f)
  func2 <- rlang::as_function(.f)


  group_var <-  rlang::enquo(group_var)
  summary_var <-rlang::enquo(summary_var)

  #name <- paste0(rlang::quo_name(summary_var), "_", deparse(substitute(.f)))
  name <- paste0(rlang::quo_name(summary_var), "_", rlang::quo_name(func))

  df %>%
    dplyr::group_by(!!group_var) %>%
    dplyr::summarise(!!name := func2(!!summary_var))
}
davidbaniadam/rispacs documentation built on Nov. 4, 2019, 9:43 a.m.