Test for (Conditional) Independence
Performs a test of (conditional) independence of 2 margins in a contingency table by simulation from the marginal distribution of the input table under (conditional) independence.
coindep_test(x, margin = NULL, n = 1000, indepfun = function(x) max(abs(x)), aggfun = max, alternative = c("greater", "less"), pearson = TRUE)
x |
a contingency table. |
margin |
margin index(es) or corresponding name(s) of the conditioning variables. Each resulting conditional table has to be a 2-way table. |
n |
number of (conditional) independence tables to be drawn. |
indepfun |
aggregation function capturing independence in (each conditional) 2-way table. |
aggfun |
aggregation function aggregating the test statistics
computed by |
alternative |
a character string specifying the alternative
hypothesis; must be either |
pearson |
logical. Should the table of Pearson residuals under
independence be computed and passed to |
If margin
is NULL
this computes a simple independence
statistic in a 2-way table. Alternatively, margin
can give
several conditioning variables and then conditional independence in
the resulting conditional table is tested.
By default, this uses a (double) maximum statistic of Pearson residuals.
By changing indepfun
or aggfun
a (maximum of) Pearson Chi-squared
statistic(s) can be computed or just the usual Pearson Chi-squared statistics
and so on. Other statistics can be computed by changing pearson
to FALSE
.
The function uses r2dtable
to simulate the distribution
of the test statistic under the null.
A list of class "coindep_test"
inheriting from "htest"
with following components:
statistic |
the value of the test statistic. |
p.value |
the p value for the test. |
method |
a character string indicating the type of the test. |
data.name |
a character string giving the name(s) of the data. |
observed |
observed table of frequencies |
expctd |
expected table of frequencies |
residuals |
corresponding Pearson residuals |
margin |
the |
dist |
a vector of size |
qdist |
the corresponding quantile function (for computing critical values). |
pdist |
the corresponding distribution function (for computing p values). |
Achim Zeileis Achim.Zeileis@R-project.org
library(MASS) TeaTasting <- matrix(c(3, 1, 1, 3), nr = 2, dimnames = list(Guess = c("Milk", "Tea"), Truth = c("Milk", "Tea")) ) ## compute maximum statistic coindep_test(TeaTasting) ## compute Chi-squared statistic coindep_test(TeaTasting, indepfun = function(x) sum(x^2)) ## use unconditional asymptotic distribution chisq.test(TeaTasting, correct = FALSE) chisq.test(TeaTasting) data("UCBAdmissions") ## double maximum statistic coindep_test(UCBAdmissions, margin = "Dept") ## maximum of Chi-squared statistics coindep_test(UCBAdmissions, margin = "Dept", indepfun = function(x) sum(x^2)) ## Pearson Chi-squared statistic coindep_test(UCBAdmissions, margin = "Dept", indepfun = function(x) sum(x^2), aggfun = sum) ## use unconditional asymptotic distribution loglm(~ Dept * (Gender + Admit), data = UCBAdmissions)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.