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