phi() computes the phi coefficient for a 2x2 contingency table.
Arguments
- x
A contingency table (of class
table).- detail
Logical. If
FALSE(default), return the estimate as a numeric scalar. IfTRUE, return a named numeric vector including confidence interval and p-value.- conf_level
A number between 0 and 1 giving the confidence level (default
0.95). Only used whendetail = TRUE. Set toNULLto omit the confidence interval.- digits
Number of decimal places used when printing the result (default
3). Only affects thedetail = TRUEoutput.- .include_se
Internal parameter; do not use.
Value
Same structure as cramer_v(): a scalar when
detail = FALSE, a named vector when detail = TRUE.
The p-value tests the null hypothesis of no association
(Pearson chi-squared test).
Details
The phi coefficient is \(\phi = \sqrt{\chi^2 / n}\).
It is equivalent to Cramer's V for 2x2 tables and equals the
Pearson correlation between the two binary variables. The point
estimate matches the DescTools (Signorell et al., 2024) and SPSS
implementations.
The confidence interval uses the Fisher z-transformation on
\(\phi\); see cramer_v() for the formula and full references.
See also
cramer_v(), yule_q(), assoc_measures()
Other association measures:
assoc_measures(),
contingency_coef(),
cramer_v(),
gamma_gk(),
goodman_kruskal_tau(),
kendall_tau_b(),
kendall_tau_c(),
lambda_gk(),
somers_d(),
uncertainty_coef(),
yule_q()
Examples
tab <- table(sochealth$smoking, sochealth$sex)
phi(tab)
#> [1] 0.0107495
phi(tab, detail = TRUE)
#> Estimate CI lower CI upper p
#> 0.011 0.000 0.068 .713