I am trying to model some count data (clutch size) which are underdispersed. I want to account for different fixed and random (intercept) effects. My initial model was by using a random effect Poisson distribution with glmer {lme4} function, like this:

fm1<- glmer(clutchSize ~ fixef1 + fixef2 + fixef3 + (1|ranef1) + (1|ranef2) + (1|ranef3), data = data, poisson).

I estimated the dispersion of fm1 by:

dispersion_glmer(fm1) # 0.51

This suggests there is some underdispersion. After reading Lynch et al. (2014) I have understood that it is quite typical for this kind of data. I have looked for a way of dealing with these data and found the spaMM package which implements a function, HLfit, which allows to use the Conway-Maxwell-Poisson distribution in a GLMM model like the one I ran with glmer. I am asked to set a 'nu' parameter as an argument of an argument of the HLfit function but I cannot understand what value should I put - how may I calculate it? In particular, it should be:

fm2<- HLfit(clutchSize ~ fixef1 + fixef2 + fixef3 + (1|ranef1) + (1|ranef2) + (1|ranef3), data = data, COMPoisson(nu))

In the help page of HLfit it is stated that if nu>1 it means underdispersion, nu<1 means overdispersion and nu=1 is equivalent to a Poisson. According to the spaMM.pdf: enter image description here

I am afraid I am missing the point somewhere but I cannot see where: may someone please help me?

  • $\begingroup$ I try lmer with an observation level random effect. see here: peerj.com/articles/616 $\endgroup$
    – D_Williams
    Dec 6, 2016 at 6:38
  • $\begingroup$ I am sorry but I do not understand your comment, may you please explain it in more detail? are you suggesting to try to account for lack of fit (in my case underdispersion) by introducing an observation-level random effect? in my case I have clutch size as response variable, a few biologically meaningful fixed effects and both temporal and individual (mother and father identities) random effects. It would seem that the Conway-Maxwell-Poisson GLMM would be a good solution but I cannot find a way to run it in R. $\endgroup$
    – simone
    Dec 6, 2016 at 13:18

1 Answer 1


The dispersion parameter of the COMPoisson can be estimated by using the fitme function instead of HLfit, as shown in the first example of the documentation page partially reproduced in the OP.


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.