Accounting for body-size in morphological data sets can be solved by using the residuals of simple linear regression with the trait~body-size.

But I've been getting some annoying results using this method, and was wondering whether another method would give more realistic results.

Let's start with two species that look different, one is larger and has short femurs, while the other is small with long femurs:

svl=c(24,26,14,26,27,19, 42,46,45,37,59,48), femur=c(12,14,8,13,14,9, 14,15,16,12,19,17), sp=c("a","a","a","a","a","a","b","b","b","b","b","b")

Below shows original data, then the corrected by linear regression and division by body-size.

Values plotted with linear regression line

Corrected by linear regression

corrected by simple division of body-size

My point here: Because of the range in size, the regression correction has predicted that the corrected femur length is not different between species. And yet when I created the data I specifically made sp A femur 1/2 of body size and sp B 1/3 of body size.

So: should I just stick to dividing by body-size to correct other morphological traits? Or is there a better modelling solution?

Thanks, Alex

  • $\begingroup$ I am not sure that I understand fully your problem. If your model is femur length = alpha + beta x body size + epsilon, and you want to test if beta differs from a species to another, you should really test that. Here not compare (by eyeballing) the regression residual without including a 'species' term, it hardly makes sense. $\endgroup$
    – Elvis
    Oct 6, 2015 at 10:16
  • $\begingroup$ Try for example to fit a model like femur length = alpha + beta x body size + gamma × species x body size + epsilon, where species = 0, 1, and test if gamma is 0. $\endgroup$
    – Elvis
    Oct 6, 2015 at 10:18
  • 1
    $\begingroup$ " Because of the range in size, the regression correction has predicted that the corrected femur length is not different between species." - no, it hasn't. It might not be stat. sig., but the sample size is very small. $\endgroup$
    – Peter Flom
    Oct 6, 2015 at 10:20
  • $\begingroup$ Hi Elvis, thanks for the response. I did fit the model you suggested, but the objective here was not to check if they are different-but to correct for body-size. But are you suggesting that I can use separate regression equations to correct different species' traits provided 'gamma' is not 0? What happens when you're dealing with 20 species? Thanks $\endgroup$
    – AlexR
    Oct 6, 2015 at 12:15

2 Answers 2


The problem you describe comes from the following: you are anticipating relations of proportionality among your variables, while your regression models deal with them on a linear, additive scale.

The solution is to analyze your data on size in logarithmic scales. Then, for example, your ratio of femur length to body size becomes a simple difference in log-scaled values, readily amenable (unlike raw ratios) to standard regression approaches. Given that measurement errors tend to be proportional to the value that's being measured rather than independent of the value, logarithmic transformations make a lot of sense in this type of work.

This is the approach that has been used for over a century in the discipline of allometry, which deals specifically with issues of body scaling. Working in log scales allows discovery of unexpected relations that might not appear from use of ratios, such as Kleiber's law, the scaling of metabolic rate with the 3/4 power of animal mass among mammals over a range from mice to whales.

  • $\begingroup$ Thanks for your clear response. I agree that most morphological variables are not linear with body size and that error does increase at smaller scales. However, I don't think this is relevant to the example I posted, which is assuming a linear relationship, and would still get similar 'corrected' femur lengths for both species, despite their being a proportional difference-unless I'm missing something? In the end I want a PC plot that separates species along trait axis such as femur length. Cheers $\endgroup$
    – AlexR
    Oct 6, 2015 at 13:05
  • $\begingroup$ Then I think you should give us much more details to work on! $\endgroup$ Oct 6, 2015 at 13:35
  • $\begingroup$ @AlexR you said "when I created the data I specifically made sp A femur 1/2 of body size and sp B 1/3 of body size." Yes, those are linear relations between femur length and body size, but the lengths in such a proportional model cannot be 'corrected' properly by the additive corrections of a linear model in the original length scale. You demonstrated that in the second of your three plots. Your last plot, where you plot the ratio of femur length to body size, gives the types of 'corrected' lengths you want. Linear regression in log scale of size gives you that analysis directly. $\endgroup$
    – EdM
    Oct 6, 2015 at 14:25

In regards to using non-linear models to represent an apparently linear relationship you must consider the relatively narrow range of values your data represents. Meaning that a small section of a long arc appears to be relatively ‘straight’ or linear.

I suggest taking a look at this paper by Albrecht et al. (1993) “Ratios as size adjustment in morphometrics.”

An issue with your current methods is discussed by Albrecht and co-workers; that a ratio of femoral length/body-size may not actually remove the effect of body size. Allometrically adjusted ratios can provide a more complete removal of the size effect, which can be evaluated by observing if the correlation coefficient for the Yadjusted is approximately zero.

There are many other variations in allometry that you should consider looking into as well.


Your Answer

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

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