I'm using glmer() in package lme4 and I want to do a mixed effect model to see how my predictor variables contribute to changes in fish abundance. My data looks like this:
data <- data.frame(Year = c("2005", "2006" ..... "2019")
Site= c('A', 'B', 'C', 'D', 'E', 'F'),
Zone= c('Crest', 'Flat', 'Slope'),
Transect= c('1', '2', '3'),
CoralCover= c(0.5, 20, 13, .... "70") #ranging from 0.5-70%
Method = c('UVC', 'SVS') #Different data collection methods
Abundance = c(283, 274, 286....) #Fish count data for every transect
Each transect is a row in my data set (783 rows in total), there are three transects per zone, three zones per site and six sites per year.
My response variable (Abundance) is not normally distributed, so I tried to run a Generalised Mixed Effects Model with Poisson Distribution on the abundance data, with zone being a nested random effect within site;
mixed.glmer <- glmer(TotalAbundance ~ Year + CoralCover + Method + (1|Site/Zone), data = data, family = poisson)
However, doing this gives me this warning message: boundary (singular) fit: see ?isSingular
I tried to put zone as a fixed effect: mixed.glmer <- glmer(TotalAbundance ~ Year + CoralCover + Method + Zone + (1|Site), data = mixedmodel, family = poisson)
Then I get this warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model is nearly unidentifiable: very large eigenvalue
- Rescale variables?;Model is nearly unidentifiable: large eigenvalue ratio
- Rescale variables?
I'm having a hard time interpreting these messages, and I'm not sure if/how I should restructure my data or change my model.
Any advice?