# 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-value`

is 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
value`Chi-squared`

## 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