Nonparametric Statistics & Clinical Trials
Jonckheere-Terpstra Ordered-Group Trend Statistic Formula
Test monotonic trend across independent ordered dose groups using the Jonckheere-Terpstra pairwise Mann-Whitney sum J = U_12 + U_13 + U_23 and exact null moments.
Count ordered pairwise dominance U_ab across independent dose cohorts
Whereas Page’s L test handles blocked repeated measures on the SAME subjects, toxicology and clinical dose-finding trials assign DIFFERENT independent cohorts to Placebo (Group 1), Low Dose (Group 2), and High Dose (Group 3). Terpstra (1952) and Jonckheere (1954) sum pairwise Mann-Whitney dominance counts J = U_12 + U_13 + U_23 to gain substantially higher directional power than an omnibus Kruskal-Wallis test.
Check by hand for three balanced cohorts of n_1 = n_2 = n_3 = 4 subjects (N = 12 total): Group 1 = {10, 12, 15, 19} (B2:B5), Group 2 = {14, 18, 22, 25} (C2:C5), and Group 3 = {21, 24, 29, 33} (D2:D5). Using COUNTIF per row, U_12 = 13, U_13 = 16, and U_23 = 13, giving J = 13 + 16 + 13 = 42 out of 48 total ordered pairs! Exact null mean is mu_J = (12^2 - (16 + 16 + 16)) / 4 = 24, exact variance var_J = (144*27 - 3*(16*11)) / 72 = 3,360 / 72 = 46.6667, and directional Z_JT = (42 - 24) / SQRT(46.6667) = 2.6349.
| Jonckheere-Terpstra Term | Exact Formula | Sample Output (n = 4, 4, 4) |
|---|---|---|
| Pairwise Dominance U_12, U_13, U_23 | Pairs where lower-dose < higher-dose | 13 + 16 + 13 -> J = 42 |
| Null Expectation mu_J | (N^2 - SUM(n_g^2)) / 4 | 24.0000 (Half of 48 pairs) |
| Null Variance var_J | (N^2*(2*N + 3) - SUM(n_g^2*(2*n_g + 3))) / 72 | 46.6667 (140 / 3) |
| Directional Z_JT | (J - mu_J) / SQRT(var_J) | +2.6349 (p = 0.0042 one-sided) |
Exact Null Variance var_J Formula for Arbitrary Cohort Sizes
Compute N = n_1 + n_2 + n_3 dynamically via COUNT so unbalanced clinical cohorts evaluate without manual adjustments.
=LET(cnt_1, COUNT(B2:B5), cnt_2, COUNT(C2:C5), cnt_3, COUNT(D2:D5), n_tot, cnt_1 + cnt_2 + cnt_3, IF(OR(cnt_1 < 1, cnt_2 < 1, cnt_3 < 1), "Empty Cohort", ROUND((n_tot^2 * (2 * n_tot + 3) - (cnt_1^2 * (2 * cnt_1 + 3) + cnt_2^2 * (2 * cnt_2 + 3) + cnt_3^2 * (2 * cnt_3 + 3))) / 72, 4)))Standardized Jonckheere-Terpstra Z_JT Formula
Sum the row-level pairwise dominance counts E2:E5 (where each cell counts strictly larger observations in higher-ordered columns plus 0.5 for ties) and standardize against mu_J and SQRT(var_J).
=LET(cnt_1, COUNT(B2:B5), cnt_2, COUNT(C2:C5), cnt_3, COUNT(D2:D5), n_tot, cnt_1 + cnt_2 + cnt_3, IF(OR(cnt_1 < 1, cnt_2 < 1, cnt_3 < 1), "Empty Cohort", LET(j_tot, SUM(E2:E5), mu_j, (n_tot^2 - (cnt_1^2 + cnt_2^2 + cnt_3^2)) / 4, var_j, (n_tot^2 * (2 * n_tot + 3) - (cnt_1^2 * (2 * cnt_1 + 3) + cnt_2^2 * (2 * cnt_2 + 3) + cnt_3^2 * (2 * cnt_3 + 3))) / 72, ROUND((j_tot - mu_j) / SQRT(var_j), 4))))Try the example
Use the original values or change them to test your understanding.