Pearson's Chi-square Test for Count Data

Usage

chisq.test(x, y = NULL, correct = TRUE,
           p = rep(1/length(x), length(x)))

Arguments

x a vector or matrix.
y a vector; ignored if x is a matrix.
correct a logical indicating whether to apply continuity correction when computing the test statistic.

Description

chisq.test performs chi-square tests on contingency tables.

Details

If x is a matrix with one row or column, or if x is a vector and y is not given, x is treated as a one-dimensional contingency table. In this case, the hypothesis tested is whether the population probabilities equal those in p, or are all equal if p is not given.

If x is a matrix with at least two rows and columns, it is taken as a two-dimensional contingency table, and hence its entries should be nonnegative integers. Otherwise, x and y must be vectors or factors of the same length; incomplete cases are removed, the objects are coerced into factor objects, and the contingency table is computed from these. Then, Pearson's chi-square test of the null that the joint distribution of the cell counts in a 2-dimensional contingency table is the product of the row and column marginals is performed. Continuity correction is only used in the 2-by-2 case if correct is TRUE.

Value

A list with class "htest" containing the following components:
statistic the value the chi-square test statistic.
parameter the degrees of freedom of the approximate chi-square distribution of the test statistic.
p.value the p-value for the test.
method a character string indicating the type of test performed, and whether continuity correction was used.
data.name a character string giving the name(s) of the data.
observed the observed counts.
expected the expected counts under the null hypothesis.

Examples

data(insects)                   # Not really a good example
chisq.test(insects$count > 7, insects$spray)
                                # Prints test summary
chisq.test(insects$count > 7, insects$spray)$obs
                                # Counts observed
chisq.test(insects$count > 7, insects$spray)$obs
                                # Counts expected under the null


[Package Contents]