As illustrated by the R example below, given that the assumptions of the ordinal regression model are satisfied, you gain statistical power by testing for an effect of the factor group
in an ordinal regression model (it's one line of code) as compared to testing for any kind of deviation from independence between your response (y
below) and group
via a chi-square test.
> # Simulated data
> n <- 30
> group <- factor(rep(c("A","B","C"),each=n))
> set.seed(1)
> z <- rnorm(3*n, mean=c(0,.5,1)[group],sd=1.5) # unobserved latent variable
> y <- rep(0,3*n)
> y[z>0] <- 1
> y[z>1] <- 2
> y[z>2] <- 3
> table(y,group)
group
y A B C
0 13 9 6
1 9 7 6
2 6 10 12
3 2 4 6
>
> # Fit the model
> y <- ordered(y)
> library(MASS)
> anova(polr(y ~ group), polr(y ~ 1))
Likelihood ratio tests of ordinal regression models
Response: y
Model Resid. df Resid. Dev Test Df LR stat. Pr(Chi)
1 1 87 241.1152
2 group 85 234.1001 1 vs 2 2 7.015068 0.02997073
>
> # Compare to a chi-square test
> chisq.test(table(y, group))
Pearson's Chi-squared test
data: table(y, group)
X-squared = 7.2792, df = 6, p-value = 0.2958