fmt_cnt_pct | R Documentation |
A function to calculate and format a count and percent.
fmt_cnt_pct(x, denom = NULL, format = "%5.1f", na = NULL, zero = NULL)
x |
The input data vector or data frame column. |
denom |
The denominator to use for the percentage. By default, the parameter is NULL, meaning the function will use the number of non-missing values of the data vector as the denominator. Otherwise, supply the denominator as a numeric value. |
format |
A formatting string suitable for input into the
|
na |
The value to return for any NA value encountered in the input vector. Usually this parameter is passed as a string, such as "-", yet any value can be supplied. |
zero |
The value to return for any zero values encountered in the input vector. Usually this value is supplied as string such as "0 (-)". |
This function calculates a percent and appends to the provided count. The input vector is assumed to contain the counts. This function will not perform counting. It will calculate percentages and append to the given counts.
The result is then formatted using sprintf
. By default,
the number of non-missing values in the input data vector is used as the
denominator.
Alternatively, you may supply the denominator using the denom
parameter.
You may also control the percent format using the format parameter.
The function will return any NA values in the input data unaltered.
If the calculated percentage is between 0% and 1%, the function will display "(< 1.0%)" as the percentage value. Zero values will be displayed as "( 0.0%)"
A character vector of formatted counts and percents.
Other helpers:
fmt_mean_sd()
,
fmt_median()
,
fmt_n()
,
fmt_quantile_range()
,
fmt_range()
v1 <- c(4, 3, 8, 6, 9, 5, NA, 0, 7, 4, 3, 7)
# Format count and percent
fmt_cnt_pct(v1)
# Output
# [1] "4 ( 36.4%)" "3 ( 27.3%)" "8 ( 72.7%)" "6 ( 54.5%)"
# [5] "9 ( 81.8%)" "5 ( 45.5%)" NA "0 ( 0.0%)"
# [9] "7 ( 63.6%)" "4 ( 36.4%)" "3 ( 27.3%)" "7 ( 63.6%)"
# Custom values for NA and zero
fmt_cnt_pct(v1, na = "N/A", zero = "0 (-)")
# Custom NA and zero output
# [1] "4 ( 36.4%)" "3 ( 27.3%)" "8 ( 72.7%)" "6 ( 54.5%)"
# [5] "9 ( 81.8%)" "5 ( 45.5%)" "N/A" "0 (-)"
# [9] "7 ( 63.6%)" "4 ( 36.4%)" "3 ( 27.3%)" "7 ( 63.6%)"
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.