Analysis of 2x3 Contingency Tables with Ordered Categories
Anastasia Ivanova | Vance Berger |
University of North Carolina at Chapel Hill | National Cancer Institute |
aivanova@bios.unc.edu | vb78c@nih.gov |
Within the context of comparative Phase III randomized clinical trials,
many efficacy endpoints are measured on an ordinal scale. That is, the data consist of a set of
categories, and there is a natural ordering among these categories. The relative spacings among the categories,
however, are not known. Consider a 2´3 contingency table with two
treatment groups and three ordered outcome levels.
Antiemetic response data after 2 days (Fox et al., 1993).
|
Level of response |
|||
|
None |
Partial |
Complete |
Total |
Control |
X1 = 12 |
X2 = 3 |
X3 = 7 |
N1 = 22 |
Treatment |
Y1 = 3 |
Y2 = 7 |
Y3 = 12 |
N2 = 22 |
Total |
T1 = 15 |
T2 = 10 |
T3 = 19 |
N = 44 |
The goal of a between-group analysis of an ordered
categorical endpoint is to establish that one treatment tends to be associated
with preferable outcomes compared to the other treatment. Consider permutation tests since they
preserve the size of the test. The most common analysis for
a 2´3 contingency table is a linear rank test,
for which numerical scores are assigned to the three response levels. Without loss of generality the scores can be
chosen as (0, v, 1), usually with 0 £ v £ 1.
For example, if equally spaced scores are desired, then v = 0.5. If v = 0 or v = 1, then the test becomes a binomial
test, as categories are combined for analysis.
However, the choice of scores might
have a profound influence on the p-value, and on the interpretation of the
results.
We have developed several new tests for this
problem. The software written in Splus
implements six test that can be used to compare groups with ordered categorical
response:
Downloads
The programs are developed in S-PLUS 4.0 for Microsoft Windows. The following downloads include the source functions. Create a directory, say ORDINAL, for the program. Download and extract the appropriate file there. For example, to install the program ttestpv, source the ttestpv.s file into S-PLUS via
source("<path>/ttestpv.s")
where <path> is the directory in which the program files are located. Or just copy the function and paste it into S-PLUS.
Function ttestpv plots extreme regions for linear rank tests with v=0, 0.5, 1, and the Smirnov test calculating corresponding p-values.
Function ttestsize plots rejection regions for one-sided (nominal size alpha=.05) linear rank tests with v=0, 0.5, 1, and the Smirnov test calculating actual sizes.
Function chull.test plots extreme and rejection regions (one-sided, nominal alpha=0.05) for the convex hull test calculating p-value and the actual size.
Function adaptive.test plots extreme and rejection regions (one-sided, nominal alpha=0.05) for the adaptive test calculating p-value and the actual size.
TRY IT