Tests of association
Chi-squared test
The Chi-squared test is a common test of association between nominal or ordinal data. More powerful tests exist (see below), but the Chi-squared is by far the most simple one.
Contingency table
Produce a contingency table of Mat by Period, a new variable made
from Date to have three categories, and calculate chi-squared.
Creating the Period variable from Date has already been covered in
“Transforming variables”:
> Period <- Date
> Period[(Date>650)&(Date<=1200)] <- 1
> Period[(Date>100)&(Date<=650)] <- 2
> Period[(Date<=100)] <- 3
You should probably tell R these values aren’t numbers but categories. Notice the difference:
> summary(Period)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 1.00 1.50 1.55 2.00 3.00
> Period <- factor(Period)
> Mat <- factor(Mat)
> summary(Period)
1 2 3
20 18 2
This hasn’t really effect on the following operations, but it helps you keeping a clean working environment.
> table(Mat,Period)
Period
Mat 1 2 3
1 20 0 0
2 0 18 2
See http://finzi.psych.upenn.edu/R/Rhelp02a/archive/2847.html for
another method using xtabs().
Chi-squared test
We are now ready to perform the Chi-squared test:
> crosstab <- table(Mat,Period)
> xtabs() # similar to table, but different results
> chisq.test(crosstab)
Pearson`s Chi-squared test
data: table(Mat, Period)
X-squared = 40, df = 2, p-value = 2.061e-09
Warning message:
In chisq.test(table(Mat, Period)) :
Chi-squared approximation may be incorrect
This result is OK, but has some differences from the one you would get doing all the operations by hand:
- the
p-valueis not a fixed one (because you’re not using tables), but rather a floating point number, expressed in scientific notation. It is very low however. - there’s a warning about a possible approximation of the
Chi-squaredvalue
Other tests
Other tests of association mentioned in Digging Numbers don't seem so widely used, and this is probably the reason why they are not part of the standard R distribution.
Cramer's V
This test is included in the cramer contributed package
Guttman's lambda
Kendall's tau-b
This test is included in the contributed package Kendall. See
Kendall's tau-c
Kendall's tau-c is not included in any package, but it can be defined as a custom function. See https://stat.ethz.ch/pipermail/r-help/2006-September/112806.html