ID Sex Surface B1
1 female UN 1255
2 female UN 542
3 female UN 818
1 female UN 274
2 female UN 261
3 female UN 314
1 female UP 552
2 female UP 548
3 female UP 721
1 female UP 431
2 female UP 354
3 female UP 738
4 male UN 901
5 male UN 619
6 male UN 861
7 male UN 713
8 male UN 717
4 male UN 275
5 male UN 300
6 male UN 244
7 male UN 281
8 male UN 231
4 male UP 532
5 male UP 451
6 male UP 482
7 male UP 374
8 male UP 424
4 male UP 193
5 male UP 118
6 male UP 207
7 male UP 208
8 male UP 252

I have a continuous dependent variable (B1) and two categorical independent variables:

  1. Surface (with 2 levels: dorsal and ventral)
  2. Sex (with 2 levels: male and female)

My DV is not normal. I want to understand the effect of both IVs on my DV along with their interaction. If the data were normal, a two-way ANOVA would have solved the problem, but due to non-normality, this is proving difficult. I carried out a Ordinal regression after reading some posts but as there are k-1 intercepts, I am unable to understand the output. Is this the right way to proceed? If OLR is not appropriate how do I carry out a 'non-parametric' two-way ANOVA?

  • 1
    $\begingroup$ What is OLR? What is ordinal regression? Perhaps you mean ordinal logit in both cases. Either way, marginal non-normality and even conditional non-normality would still allow a generalized linear model to be fitted with an interaction term. Quite what would work best for you is impossible to say on this little information. Even "non-normal" could mean anything from a set-up that isn't really problematic for regression or ANOVA to one that is challenging for any method. Why not show us your data? $\endgroup$
    – Nick Cox
    Jul 25, 2023 at 10:35
  • $\begingroup$ If your DV is continuous, ordinal logistic isn't going to work. ANOVA does not require a normal DV, it assumes normal errors. If the residuals are very non-normal, you can try robust regression or quantile regression or other things. $\endgroup$
    – Peter Flom
    Jul 25, 2023 at 10:59
  • $\begingroup$ @NickCox I have provided one subset of my data. However, there are multiple others like this. Overall, I am trying to understand how B1 varies across surfaces and between sexes. $\endgroup$
    – Noob29
    Jul 25, 2023 at 11:14
  • 2
    $\begingroup$ Indeed, @FrankHarrell, I am familiar with your preferences and arguments, but I don't see your approach as being simple to apply or understand for questions like this. I don't think one often needs to play with an extra constant; for measurements that can complicate and confuse more often as it seems to work. it's enough that working on log scale improves the analysis and is consistent often with biological ideas. The OP's data example seems fairly standard for biological data, with a slightly skewed outcome. $\endgroup$
    – Nick Cox
    Jul 25, 2023 at 12:08
  • 1
    $\begingroup$ @Frank Harrell Glad to disagree in friendly fashion. I am not surprised at sensitivity of results to choice of $c$ in $\log (y + c)$ and have made precisely the same point several times in technical forums. In particular, it's a dangerous misconception that choosing $c$ to be a very small positive number is a gentle fudge, which it is not. When $y$ can be negative then $\text{sign}(y) \log (1 + |y|)$ sometimes works but the choice $c = 1$ must indeed be checked. On the main point, you've got a data example here and so you have a concrete opportunity to show precisely what the OP could get. $\endgroup$
    – Nick Cox
    Jul 25, 2023 at 14:42

1 Answer 1


I've developed a case study where the proportional odds ordinal logistic regression model is applied to the dataset. It may be found here. This includes motivation for using a semiparametric model, and some advantages of not needing to know how to transform the dependent variable. At the end, model-estimated means and medians are computed on the original scale.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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