View source: R/utils-calc-quantiles.R
calc_quantiles | R Documentation |
Calculate and insert columns containing arbitrary quantiles for a particular column
Calculate quantiles across groups for a given column
calc_quantiles(df = NULL, col = NULL, include_mean = TRUE)
calc_quantiles_by_group(
df = NULL,
grp_col = NULL,
col = NULL,
grp_names = grp_col,
include_mean = TRUE
)
df |
A data.frame with columns with names given by |
col |
The column name to use as values to calculate quantiles for |
include_mean |
If TRUE, include the mean in the output |
grp_col |
The column name to use for grouping the data |
grp_names |
The column name to use for labeling the grouped column. By
default it is the same as the
grouping column ( |
Uses the probs vector which is included in the package data for this package
A data.frame()
with a new column for each value in the probs
vector
A data.frame()
containing the quantile values with one row per
group represented by grp_col
library(tibble)
library(dplyr)
library(purrr)
pq <- tribble(
~year, ~grp, ~val,
2000, 1, 2.1,
2001, 1, 3.4,
2002, 1, 4.5,
2003, 1, 5.6,
2004, 1, 6.7,
2000, 2, 3.1,
2001, 2, 4.4,
2002, 2, 5.5,
2003, 2, 6.6,
2004, 2, 8.7,
2000, 3, 13.1,
2001, 3, 14.4,
2002, 3, 15.5,
2003, 3, 16.6,
2004, 3, 18.7)
probs <- c(0.05, 0.25, 0.5, 0.75, 0.95)
yrs <- sort(unique(pq$year))
df <- pq %>%
group_by(year) %>%
group_map(~ calc_quantiles(.x, col = "val", probs = probs)) %>%
map_df(~{.x}) %>%
mutate(year = yrs) %>%
select(year, everything())
library(tibble)
library(dplyr)
library(purrr)
pq <- tribble(
~year, ~grp, ~val,
2000, 1, 2.1,
2001, 1, 3.4,
2002, 1, 4.5,
2003, 1, 5.6,
2004, 1, 6.7,
2000, 2, 3.1,
2001, 2, 4.4,
2002, 2, 5.5,
2003, 2, 6.6,
2004, 2, 8.7,
2000, 3, 13.1,
2001, 3, 14.4,
2002, 3, 15.5,
2003, 3, 16.6,
2004, 3, 18.7)
probs <- c(0.05, 0.25, 0.5, 0.75, 0.95)
j <- calc_quantiles_by_group(pq,
grp_col = "year",
col = "val",
probs = probs)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.