Introduction
When computing Pearson’s Chi-squared Test for Count Data the only
result you get is that you know that there is a significant difference
in the data and not which parts of the data are responsible for this.
Here you see the example from the chisq.test documentation.
M <- as.table(rbind(c(762, 327, 468), c(484, 239, 477)))
dimnames(M) <- list(gender = c("F", "M"),
party = c("Democrat","Independent", "Republican"))
chisq.test(M)
#>
#> Pearson's Chi-squared test
#>
#> data: M
#> X-squared = 30.07, df = 2, p-value = 2.954e-07
Standarized residuals
As a form of post hoc analysis the standarized residuals can be
analysed. A rule of thumb is that standarized residuals of above two
show significance.
chisq.results <- chisq.test(M)
chisq.results$stdres
#> party
#> gender Democrat Independent Republican
#> F 4.5020535 0.6994517 -5.3159455
#> M -4.5020535 -0.6994517 5.3159455
Post Hoc Analysis
However, the above two rule is a rule of thumb. These standarized
residuals can be used to calculate p-values, which is what this package
is designed for as shown in the following example.
chisq.posthoc.test(M,
method = "bonferroni")
#> Dimension Value Democrat Independent Republican
#> 1 F Residuals 4.50205352108671 0.6994517 -5.31594554270493
#> 2 F p values 0* 1.0000000 0*
#> 3 M Residuals -4.50205352108671 -0.6994517 5.31594554270493
#> 4 M p values 0* 1.0000000 0*