This is a histogram showing my response variable.

histogram of response variable

The response is # (or proportion? or percent?) of aphids eaten off of cards in fields, to model predation by natural enemies.

Predictors: fixed effects are both categorical (i.e. crop type, season) and continuous (i.e., landscape variables - amount of land in production, mean field size), and the variable 'landscape' is a random effect.

I've been working on this so far with the response variable reflected ('number of aphids remaining' rather than 'number of aphids eaten') so that it's right skewed instead which seemed more possible. But I would rather work with it as left-skewed if possible, the results will be easier to discuss that way.

Transformations do not help the response variable be less skewed.

GLMM with Poisson errors does not work because the models created are too overdispersed. GLMM with negative binomial errors - same problem. Any way I try to model this data that treats the response variable as continuous, gives me problematic things when I'm model checking, like residuals by fitted plots that have clear patterns in them, and overdispersion. I'm starting to wonder if I need to somehow rank the data in the response instead? Or partition it into categories?

The potential solution I've gotten to is hurdle models:

"Hurdle models partition the model into two parts: a binary process generating positive counts vs. zero counts, and a process generating only positive counts. The binary process is modeled using a generalized logistic regression, and the positive count process is modeled using a zero-truncated count model" (paraphrased from Zeilis, Kleiber & Jackman 2008)

Is there a way to do this in R? Or would I just do the two models separately, and discuss them separately? Or is there a way to get an AIC value for a hurdle model?

Does anybody have any other ideas for how to model this dataset?

TIA for any help, so appreciated. This dataset has been a thorn in my side for way too long!!


I now think that a tobit model (censored regression) is how I need to model this dataset. It worked well for modeling my fixed effects only. But I still cannot figure out how to make such a model with mixed effects. These datapoints are grouped by site (3 points per site), so it needs to be a random effect. Is there a way to do a censored regression with mixed effects?

  • 2
    $\begingroup$ I am guessing that there were 30 aphids on a card, so the spike at the right represents "$\ge 30$ aphids would have been eaten but only 30 were available" rather than "30". Is this right? $\endgroup$
    – jbowman
    Mar 3, 2014 at 22:41
  • $\begingroup$ yes this is right. My response variable is therefore pretty saturated... unfortunately. $\endgroup$
    – susie
    Mar 3, 2014 at 22:48
  • $\begingroup$ Throwing this out there - would rephrasing this like a logistic model make sense? Rather than the unit of analysis being the (censored) number of aphids eaten of a card, the unit of analysis would be the aphid itself, with another level of random effect being the card. $\endgroup$
    – Affine
    Mar 7, 2014 at 16:14
  • $\begingroup$ @Affine, that is an option I considered and disregarded very early on in the process but now I'm trying to remember why... there were 3 aphids per card, 10 cards per field, and 3 fields per landscape. 48 landscapes. I think I abandoned that idea because there just aren't enough degrees of freedom for it (?) $\endgroup$
    – susie
    Mar 10, 2014 at 15:40
  • $\begingroup$ Left skewed? In a mirror universe? $\endgroup$
    – DWin
    May 9, 2014 at 22:55

2 Answers 2


Hurdle models and zero-inflated models could both work on the inverted variable. If you wanted to keep it as is, you might have to do some programming.

In R the pscl package offers both hurdle and zeroinfl functions. There is a vignette here that also covers some other packages that do some of the same things.

This being R, if you do want to play with the program, you can see the code easily enough:

  • $\begingroup$ thank you Peter. I am looking into these functions right now. re: jbowman's comment, since zero won't actually mean 'true zero', but some unknown negative number, is it still valid to model this way? $\endgroup$
    – susie
    Mar 3, 2014 at 23:22
  • 1
    $\begingroup$ Hmmm. You might then want to look at a model for truncated data, rather than zero-inflated. There is a truncreg package, but I've not used it at all. $\endgroup$
    – Peter Flom
    Mar 3, 2014 at 23:47
  • 1
    $\begingroup$ Modeling the numbers of aphids not eaten ("the inverted variable") as a count seems inappropriate. Also, these are not truncated data: they are better conceived of as censored (not enough aphids were put on each card to evaluate the numbers that would have been consumed, suggesting a value of 30 is tantamount to information that the measurement would have been 30 or greater had more aphids been available). My principal concern is whether the limited numbers of aphids on the cards affected predation on neighboring cards--that possibility should be explored in the data analysis. $\endgroup$
    – whuber
    Mar 7, 2014 at 16:21
  • 1
    $\begingroup$ thank you @whuber, I agree now that I have read up on the difference, these are censored data not truncated. The aphid cards are far enough apart that they shouldn't influence each other. $\endgroup$
    – susie
    Mar 10, 2014 at 15:42

@whuber's answer to a related question ("How to model this odd-shaped distribution (almost a reverse-J)") recommends censored regression and provides an example with the censReg package. Your case appears more strictly right censored, but you might have a tiny bit of true too (not worth worrying about according to my intuition, which is not based on direct experience). It should be possible to calculate AIC for these models (cf. Wang, Liu, Lu, Latengbaolide, & Lu, 2011). BTW, partitioning into categories (polychotomization) is generally a bad idea (see my answer here for more).

  • 2
    $\begingroup$ Thank you Nick. I've thought about my data and it is definitely censored, not truncated, so I think censReg is what I will need to use. I made a tobit model with the VGAM package (using this tutorial: ats.ucla.edu/stat/r/dae/tobit.htm), and the diagnostic plots looked better than ever before, in all my attempts to model this dataset. Which is great! However I'm having trouble figuring out how to do a tobit model that includes a random effect (random effect is site, which data points (fields) are grouped by). Do you have any advice? I'm on the hunt for a tutorial that describes it. $\endgroup$
    – susie
    Mar 7, 2014 at 15:57

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.