Apologies for the almost text-book like question.

I have a 2x2 design with fixed categories and a continuous response variable.

If the variances are equal between groups (Bartlett test) and residuals are normally distributed (Shapiro test), ok I can do standard ANOVA.


  1. Try transforming the data (e.g: arcsin(sqrt), or log(), or even rank()). If transformed data is homoscedastic & normal residues, do normal ANOVA.

  2. One option: Kruskal test (tells you whether any means differ between groups) followed by many pairs of wilcox tests (to identify which means differ). If all are significant, all factors (and interactions are significant).

  3. Another option: Use the bootstrap approach (permuting residuals) outlined here: Is there an equivalent to Kruskal Wallis one-way test for a two-way model?

Is this correct?


The proportional odds ordinal logistic model is a generalization of the Wilcoxon and Kruskal-Wallis tests that extend to multiple covariates, interactions, etc. It is a semiparametric method that only uses the ranks of Y. It handles continuous Y, creating k-1 intercepts where k is the number of unique Y values.

| cite | improve this answer | |
  • $\begingroup$ +1, A question, though: If Y were initially continuous (just quite badly behaved), and you converted them to ordinal categories via a rank transform, you could end up with a large number of categories--easily N. My intuition is troubled by this. Would ordinal log reg be reliable in such a situation? Typically, we think of ord reg with situations with a small number of categories (e.g., in surveys, 4) with many observations per category. $\endgroup$ – gung - Reinstate Monica Dec 9 '11 at 3:41
  • $\begingroup$ Having almost as many intercepts as N is only a computational problem. JMP software even uses a shortcut so that computational time is trivial for this case - someday I'll implement that in the rms package's lrm function in R. These intercepts don't have any other costs because they are forced to be in order and don't spend any degrees of freedom. Think of this like Cox proportional hazards regression for continuous survival time. If you run into computer time problems you can group Y into 101 percentile groups. Note that the prop. odds model elegantly handles excessive ties in Y. $\endgroup$ – Frank Harrell Dec 9 '11 at 12:13

This sounds good to me. There are some issues to consider though:

  1. In option 2, you need to make sure to correct the p-values in your wilcox tests for multiple hypothesis testing. The pairwise.wilcox.test function in R will do this for you.

  2. In my experience, even though the bootstrap approach is very nice here, if other people in your field (e.g. paper reviewers) are unfamiliar with it you can draw a lot of criticism.

It really depends on what is normal in your field, and what the purpose of the analysis is. If this work is for a paper, and practitioners in your field have a recipe for data analysis which does not match this one, it might be easier to justify using that approach (even if it's wrong). For example, in some fields the 'correct' procedure is just "Use ANOVA". No extra tests are performed, and the results are accepted as valid. ANOVA is reasonably robust to the violation of normality too, so in practice this approach (although overly simplistic) works out okay.

| cite | improve this answer | |
  • $\begingroup$ Thanks - good points. I didn't know about pairwise.wilcox.test! $\endgroup$ – Yannick Wurm Dec 11 '11 at 23:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.