# How can I deal with overdispersed count data if I have a nested design?

I am trying determine whether pollen tube counts differ between nectar-robbed and un-robbed flowers. Pollen tube counts are nested within plant (multiple flowers of each type sampled from each plant) and plants are nested within site.

I am trying to fit the model using glmer, specifying family="poisson". It looks like the data are over-dispersed (deviance = 705.7, df.resid = 142). Digging around in forums the general advice seems to be to use a negative binomial distribution rather than poisson, but glmer doesn't accommodate that.

Additionally, why does variance for flower appear as zero?

Any advice you may have would be greatly appreciated.

p_mfit<-glmer(tubes ~ status + (1|site/plant/flower), family="poisson", data=mc)

> summary(p_mfit)
Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
Family: poisson  ( log )
Formula: tubes ~ status + (1 | site/plant/flower)
Data: mc

AIC      BIC   logLik deviance df.resid
715.7    730.6   -352.8    705.7      142

Scaled residuals:
Min       1Q   Median       3Q      Max
-2.08950 -0.38627 -0.04237  0.33830  2.87922

Random effects:
Groups              Name        Variance Std.Dev.
flower:(plant:site) (Intercept) 0.00000  0.0000
plant:site          (Intercept) 0.01958  0.1399
site                (Intercept) 0.01790  0.1338
Number of obs: 147, groups:  flower:(plant:site), 147; plant:site, 20;    site, 4

Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept)  2.25664    0.08417  26.809   <2e-16 ***
statusy      0.01356    0.05301   0.256    0.798
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Correlation of Fixed Effects:
(Intr)
statusy -0.308

• Try "glmer.nb" from the MASS package. – Alex R. Dec 8 '15 at 22:33
• Well, I'm not sure if I've used the proper syntax (though I think I have), but I am getting the following error message: > gnb_mfit<-glmer.nb(tubes ~ status + (1|site/plant/flower), data=mc) Warning message: In theta.ml(Y, mu, sum(w), w, limit = control$maxit, trace = control$trace : iteration limit reached – JKO Dec 9 '15 at 1:44
• Any idea how to get past this issue? – JKO Dec 9 '15 at 1:46