Format the content of a correlation table
Source:R/datasummary_correlation.R
datasummary_correlation_format.RdMostly for internal use, but can be useful when users supply a function to
the method argument of datasummary_correlation.
Usage
datasummary_correlation_format(
x,
fmt,
leading_zero = FALSE,
diagonal = NULL,
upper_triangle = NULL,
stars = FALSE
)Arguments
- x
square numeric matrix
- fmt
how to format numeric values: integer, user-supplied function, or
modelsummaryfunction.Integer: Number of decimal digits
User-supplied functions:
Any function which accepts a numeric vector and returns a character vector of the same length.
modelsummaryfunctions:fmt = fmt_significant(2): Two significant digits (at the term-level)fmt = fmt_sprintf("%.3f"): See?sprintffmt = fmt_identity(): unformatted raw values
- leading_zero
boolean. If
FALSE, leading zeros are removed- diagonal
character or NULL. If character, all elements of the diagonal are replaced by the same character (e.g., "1").
- upper_triangle
character or NULL. If character, all elements of the upper triangle are replaced by the same character (e.g., "" or ".").
- stars
to indicate statistical significance
FALSE (default): no significance stars.
TRUE:
c("+" = .1, "*" = .05, "**" = .01, "***" = 0.001)Named numeric vector for custom stars such as
c('*' = .1, '+' = .05)Note: a legend will not be inserted at the bottom of the table when the
estimateorstatisticarguments use "glue strings" with{stars}.
Examples
library(modelsummary)
dat <- mtcars[, c("mpg", "hp", "disp")]
cor_fun <- function(x) {
out <- cor(x, method = "kendall")
datasummary_correlation_format(
out,
fmt = 2,
upper_triangle = "x",
diagonal = ".")
}
datasummary_correlation(dat, method = cor_fun)
#>
#> +------+------+-----+------+
#> | | mpg | hp | disp |
#> +======+======+=====+======+
#> | mpg | . | x | x |
#> +------+------+-----+------+
#> | hp | -.74 | . | x |
#> +------+------+-----+------+
#> | disp | -.77 | .67 | . |
#> +------+------+-----+------+