2
$\begingroup$

I'm struggling to work out how analyse directions of animal body temperature responses reported among papers in a systematic review.

The responses are coded relative to baseline as decrease, none or increase), and I want to examine study design effects on these outcomes (e.g. wild/captive population, taxon, treatment type, potential for methods to induce stress and whether the response was validated against another measure).

Also, as there are sometimes multiple responses per paper, I need to account for non-independence between samples.

I've pasted in a typical example dataset (n = 36 responses from 14 papers) below:

df <- structure(list(response = structure(c(1L, 1L, 1L, 2L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 3L, 1L, 3L, 1L, 2L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), levels = c("decrease",  "none", "increase"), class = "factor"), studypop = structure(c(2L,2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), levels = c("captive", "wild+wildcaught"), class = "factor"), taxon = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L), levels = c("Bird", "Mammal"), class = "factor"), treatcat = structure(c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L), levels = c("artificial", "real/simulation"), class = "factor"), stresspot = structure(c(2L, 2L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L), levels = c("high+unclear", "low"), class = "factor"), validated = structure(c(2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 2L, 2L), levels = c("no", "yes"), class = "factor"), paperid = structure(c(8L, 8L, 1L, 1L, 1L, 14L, 14L, 3L, 3L, 3L, 5L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 9L, 9L, 7L, 13L, 10L, 10L, 10L, 10L, 11L, 11L, 11L, 12L, 12L, 12L, 4L, 6L, 6L), levels = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14"), class = "factor")), row.names = c(NA, -36L), class = "data.frame")

My original thought was to use mixed effect ordinal logistic regression, e.g. using clmm2:

model.1 <- clmm2(response ~ studypop + taxon + treatcat + stresspot + 
             validated, random = paperid, Hess = TRUE, data = df)

However, I suspect my sample sizes are too small for this approach. The above model fails with a variance-covariance matrix error, presumably as there were too many zero categories when relating response to paperid.

Even without the random effect, I run into (presumably) separation problems as the frequency of none and increase responses is zero among validated:yes studies.

Is there an alternative way to analyse these kinds of data in relatively small sample sizes?

Ideally, I'd like to investigate the effects of as many of my potential explanatory variables as possible. But, I understand I may have to abandon some, or take a wholly different approach.

$\endgroup$

1 Answer 1

6
$\begingroup$

Binning temperature represents a grave statistical error that makes the other issues insignificant and greatly lowers your effective sample size. Use the final temperature as the dependent variable and the initial temperature as one of the covariates. This will also get around the serious problems with change scores that are documented here.

$\endgroup$
2
  • $\begingroup$ Thanks @Frank Harrell - could you explain in a little more detail regarding the error that categorising temperature responses as direction of change represents please? I'm reproducing methods from this paper where the authors did the same for glucocorticoid responses. I had assumed, given how well cited the paper is, that their approach was legitimate. $\endgroup$
    – pajul
    Commented Aug 15 at 13:35
  • $\begingroup$ discourse.datamethods.org/t/categorizing-continuous-variables $\endgroup$ Commented Aug 16 at 11:29

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.