cramer_v() computes Cramer's V for a two-way contingency table,
measuring the strength of association between two categorical variables.
cramer_v(
x,
detail = FALSE,
conf_level = 0.95,
digits = 3L,
.include_se = FALSE
)When detail = FALSE: a single numeric value (the
estimate).
When detail = TRUE and conf_level is non-NULL:
c(estimate, ci_lower, ci_upper, p_value).
When detail = TRUE and conf_level = NULL:
c(estimate, p_value).
The p-value tests the null hypothesis of no association
(Pearson chi-squared test).
A contingency table (of class table).
Logical. If FALSE (default), return the estimate
as a numeric scalar. If TRUE, return a named numeric vector
including confidence interval and p-value.
A number between 0 and 1 giving the confidence
level (default 0.95). Only used when detail = TRUE. Set
to NULL to omit the confidence interval.
Number of decimal places used when printing the
result (default 3). Only affects the detail = TRUE output.
Internal parameter; do not use.
Cramer's V is computed as
\(V = \sqrt{\chi^2 / (n \cdot (k - 1))}\), where \(\chi^2\)
is the Pearson chi-squared statistic, \(n\) is the total count,
and \(k = \min(r, c)\). The point estimate matches the
DescTools (Signorell et al., 2024) and SPSS implementations.
The confidence interval uses the Fisher z-transformation
on \(V\) (\(\tanh(\mathrm{atanh}(V) \pm z_{\alpha/2} /
\sqrt{n - 3})\)), which differs from the noncentral chi-squared
or bootstrap CIs reported by DescTools::CramerV().
Agresti, A. (2002). Categorical Data Analysis (2nd ed.). Wiley.
Liebetrau, A. M. (1983). Measures of Association. Sage.
Signorell, A. et al. (2024). DescTools: Tools for Descriptive Statistics. R package.
phi(), contingency_coef(), assoc_measures()
Other association measures:
assoc_measures(),
contingency_coef(),
gamma_gk(),
goodman_kruskal_tau(),
kendall_tau_b(),
kendall_tau_c(),
lambda_gk(),
phi(),
somers_d(),
uncertainty_coef(),
yule_q()
tab <- table(sochealth$smoking, sochealth$education)
cramer_v(tab)
cramer_v(tab, detail = TRUE)
cramer_v(tab, detail = TRUE, conf_level = NULL)
Run the code above in your browser using DataLab