Last chance! 50% off unlimited learning
Sale ends in
fsummarize
is a much faster version of dplyr::summarise
, when used together with the Fast Statistical Functions.
fsummarise(.data, ..., keep.group_vars = TRUE)
smr(.data, ..., keep.group_vars = TRUE) # Shortcut
a (grouped) data frame or named list of columns. Grouped data can be created with fgroup_by
or dplyr::group_by
.
name-value pairs of summary functions. The name will be the name of the variable in the result. Functions when applied to a vector need to return a scalar. For fast performance and weighted aggregation use the Fast Statistical Functions.
logical. FALSE
removes grouping variables after computation.
If .data
is grouped by fgroup_by
or dplyr::group_by
, the result is a data frame of the same class and attributes with rows reduced to the number of groups. If .data
is not grouped, the result is a data frame of the same class and attributes with 1 row.
collap
, Data Frame Manipulation, Fast Statistical Functions, Collapse Overview
# NOT RUN {
# Simple use
fsummarise(mtcars, mean_mpg = fmean(mpg),
sd_mpg = fsd(mpg))
# Using base functions (not a big difference without groups)
fsummarise(mtcars, mean_mpg = mean(mpg),
sd_mpg = sd(mpg))
# }
# NOT RUN {
<!-- % No code relying on suggested package or base Pipe -->
# Grouped use
mtcars |> fgroup_by(cyl) |>
fsummarise(mean_mpg = fmean(mpg),
sd_mpg = fsd(mpg))
# This is still efficient but quite a bit slower on large data (many groups)
mtcars |> fgroup_by(cyl) |>
fsummarise(mean_mpg = mean(mpg),
sd_mpg = sd(mpg))
# Weighted aggregation
mtcars |> fgroup_by(cyl) |>
fsummarise(w_mean_mpg = fmean(mpg, wt),
w_sd_mpg = fsd(mpg, wt))
## Can also group with dplyr::group_by, but at a conversion cost, see ?GRP
library(dplyr)
mtcars |> group_by(cyl) |>
fsummarise(mean_mpg = fmean(mpg),
sd_mpg = fsd(mpg))
# Again less efficient...
mtcars |> group_by(cyl) |>
fsummarise(mean_mpg = mean(mpg),
sd_mpg = sd(mpg))
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab