Main Content

Cross-tabulation

`crosstab`

uses`grp2idx`

to assign a positive integer to each distinct value.`tbl(i,j)`

is a count of indices where`grp2idx(x1)`

is`i`

and`grp2idx(x2)`

is`j`

. The numerical order of`grp2idx(x1)`

and`grp2idx(x2)`

order rows and columns of`tbl`

, respectively.In this case, the returned value of

`tbl(i,j,...,n)`

is a count of indices where`grp2idx(x1)`

is`i`

,`grp2idx(x2)`

is`j`

,`grp2idx(x3)`

is`k`

, and so on.`crosstab`

computes the*p*-value of the chi-square test statistic using a formula that is asymptotically valid for a large sample size. The approximation is less accurate for small samples or samples with uneven marginal distributions. If your sample includes only two variables and each has two levels, you can use`fishertest`

instead. This function performs Fisher’s exact test, which does not depend on large-sample distribution assumptions.