Calculates Cramer's V for a table of nominal variables; confidence intervals by bootstrap.
cramerV( x, y =NULL, ci =FALSE, conf =0.95, type ="perc", R =1000, histogram =FALSE, digits =4, bias.correct =FALSE, reportIncomplete =FALSE, verbose =FALSE, tolerance =1e-16,...)
Arguments
x: Either a two-way table or a two-way matrix. Can also be a vector of observations for one dimension of a two-way table.
y: If x is a vector, y is the vector of observations for the second dimension of a two-way table.
ci: If TRUE, returns confidence intervals by bootstrap. May be slow.
conf: The level for the confidence interval.
type: The type of confidence interval to use. Can be any of "norm", "basic", "perc", or "bca". Passed to boot.ci.
R: The number of replications to use for bootstrap.
histogram: If TRUE, produces a histogram of bootstrapped values.
digits: The number of significant digits in the output.
bias.correct: If TRUE, a bias correction is applied.
reportIncomplete: If FALSE (the default), NA will be reported in cases where there are instances of the calculation of the statistic failing during the bootstrap procedure.
verbose: If TRUE, prints additional statistics.
tolerance: If the variance of the bootstrapped values are less than tolerance, NA is returned for the confidence interval values.
...: Additional arguments passed to chisq.test.
Returns
A single statistic, Cramer's V. Or a small data frame consisting of Cramer's V, and the lower and upper confidence limits.
Details
Cramer's V is used as a measure of association between two nominal variables, or as an effect size for a chi-square test of association. For a 2 x 2 table, the absolute value of the phi statistic is the same as Cramer's V.
Because V is always positive, if type="perc", the confidence interval will never cross zero. In this case, the confidence interval range should not be used for statistical inference. However, if type="norm", the confidence interval may cross zero.
When V is close to 0 or very large, or with small counts, the confidence intervals determined by this method may not be reliable, or the procedure may fail.
Examples
### Example with tabledata(Anderson)fisher.test(Anderson)cramerV(Anderson)### Example with two vectorsSpecies = c(rep("Species1",16), rep("Species2",16))Color = c(rep(c("blue","blue","blue","green"),4), rep(c("green","green","green","blue"),4))fisher.test(Species, Color)cramerV(Species, Color)