I am trying to use glmer to model coral recruitment and get the error "Error: Invalid grouping factor specification, Site" when I run the model after re-scaling the variables. Help greatly appreciated
m1<-glmer(Tot~cs.Tile(Tile)+cs.Coral_T(Coral_T)+cs.Sponge(Sponge)+
cs.Turf(Turf)+cs.Acro(Acro)+cs.Por(Por)+cs.Poc(Poc)+
cs.Mer(Mer)+cs.Agar(Agar)+cs.Fav(Fav)+
cs.Den(Den)+cs.Sid(Sid)+cs.CCA(CCA)+cs.Soft(Soft)+
(1|Site),
family=poisson, data=data)
I have 16 variables and 368 obs:
str(data)
'data.frame': 368 obs. of 16 variables:
$ Site : Factor w/ 25 levels "Eight","Eighteen",..: 10 10 10 10 10 10 10 10 10 10 ...
$ Tile : int 1 2 3 4 5 6 7 8 9 10 ...
$ Tot : int 28 24 17 13 29 19 6 13 14 4 ...
$ Coral_T: num 32.6 32.6 32.6 32.6 32.6 ...
$ Sponge : num 0.206 0.206 0.206 0.206 0.206 ...
$ Turf : num 32.3 32.3 32.3 32.3 32.3 ...
$ Acro : num 3.45 3.45 3.45 3.45 3.45 ...
$ Por : num 1.15 1.15 1.15 1.15 1.15 ...
$ Poc : num 0 0 0 0 0 0 0 0 0 0 ...
$ Mer : num 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 0.175 ...
$ Agar : num 24.2 24.2 24.2 24.2 24.2 ...
$ Fav : num 1.02 1.02 1.02 1.02 1.02 ...
$ Den : num 1.18 1.18 1.18 1.18 1.18 ...
$ Sid : int 0 0 0 0 0 0 0 0 0 0 ...
$ CCA : num 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 0.07 ...
$ Soft : num 0 0 0 0 0 0 0 0 0 0 ...
I encountered the same error in a call to
update.merMod, also after re-scaling variables. After digging down through thetraceback()stack and rummaging around with what I found there using both the scaled and un-scaled datasets, I found that the issue arose in the creation of the model frame, and occurred because my scaling and centering algorithm failed to account forNAvalues in the original variables. I originally performed the centering/scaling as follows:There were a few
NAvalues in one of those variables, and scaling and centering it in this way resulted in an empty (allNA) vector incsData. This subsequently (and silently) led to the return of an empty frame frommodel.frame(). Though the empty frame was what tripped the error, it (the error) came about because of my (mis)handling theNAvalues in my variables during the re-scaling. Settingna.rm=TRUEfor the calls tosd()andmean()solved the issue for me: