Summarise and mutate multiple columns.

summarise_all() and mutate_all() apply the functions to all (non-grouping) columns. summarise_at() and mutate_at() allow you to select columns using the same name-based select_helpers as with select(). summarise_if() and mutate_if() operate on columns for which a predicate returns TRUE. Finally, summarise_each() and mutate_each() are older variants that will be deprecated in the future.

summarise_all(.tbl, .funs, ...)

mutate_all(.tbl, .funs, ...)

summarise_if(.tbl, .predicate, .funs, ...)

mutate_if(.tbl, .predicate, .funs, ...)

summarise_at(.tbl, .cols, .funs, ...)

mutate_at(.tbl, .cols, .funs, ...)

summarize_all(.tbl, .funs, ...)

summarize_at(.tbl, .cols, .funs, ...)

summarize_if(.tbl, .predicate, .funs, ...)


a tbl


List of function calls generated by funs(), or a character vector of function names, or simply a function (only for local sources).


Additional arguments for the function calls. These are evaluated only once.


A predicate function to be applied to the columns or a logical vector. The columns for which .predicate is or returns TRUE will be summarised or mutated.


A list of columns generated by vars(), or a character vector of column names, or a numeric vector of column positions.


A data frame. By default, the newly created columns have the shortest names needed to distinguish the output. To force inclusion of a name, even when not needed, name the input (see examples for details).

See Also

vars(), funs()

  • mutate_all
  • mutate_at
  • mutate_each_q
  • mutate_if
  • summarise_all
  • summarise_at
  • summarise_each_q
  • summarise_if
  • summarize_all
  • summarize_at
  • summarize_if
library(dplyr) by_species <- iris %>% group_by(Species) # One function by_species %>% summarise_all(n_distinct) by_species %>% summarise_all(mean) # Use the _at and _if variants for conditional mapping. by_species %>% summarise_if(is.numeric, mean) # summarise_at() can use select() helpers with the vars() function: by_species %>% summarise_at(vars(Petal.Width), mean) by_species %>% summarise_at(vars(matches("Width")), mean) # You can also specify columns with column names or column positions: by_species %>% summarise_at(c("Sepal.Width", "Petal.Width"), mean) by_species %>% summarise_at(c(1, 3), mean) # You can provide additional arguments. Those are evaluated only once: by_species %>% summarise_all(mean, trim = 1) by_species %>% summarise_at(vars(Petal.Width), mean, trim = 1) # You can provide an expression or multiple functions with the funs() helper. by_species %>% mutate_all(funs(. * 0.4)) by_species %>% summarise_all(funs(min, max)) # Note that output variable name must now include function name, in order to # keep things distinct. # Function names will be included if .funs has names or whenever multiple # functions are used. by_species %>% mutate_all(funs("in" = . / 2.54)) by_species %>% mutate_all(funs(rg = diff(range(.)))) by_species %>% summarise_all(funs(med = median)) by_species %>% summarise_all(funs(Q3 = quantile), probs = 0.75) by_species %>% summarise_all(c("min", "max")) # Two functions, continued by_species %>% summarise_at(vars(Petal.Width, Sepal.Width), funs(min, max)) by_species %>% summarise_at(vars(matches("Width")), funs(min, max))
Documentation reproduced from package dplyr, version 0.5.0, License: MIT + file LICENSE

Community examples

Looks like there are no examples yet.