Hello, everyone. In the models below, mydata has 32 rows village and Year are grouping factor variables with respectively 8 and 4 levels. 1) model1.1 fits well model1.1<-glmer(cbind(F,L)~village+Year+(1|Year)+(1|village), family="binomial",data=mydata) But, when I replace village+Year by village*Year, I get the warning and error message below model1.2<-glmer(cbind(F,L)~village*Year+(1|Year)+(1|village), family="binomial",data=mydata) Warning: fixed-effect model matrix is rank deficient so dropping 2 columns / coefficients Error message: Error in (function (fr, X, reTrms, family, nAGQ = 1L, verbose = 0L, maxit = 100L, : Downdated VtV is not positive definite I noticed a similar behavior when trying with glmmadmb: model2.1 fits well model2.1<-glmmadmb(cbind(F,L)~village+Year+(1|Year)+(1|village),family="binomial",data=na.omit (mydata)) But, with village*Year, Iget the error message below: model2.2<-glmmadmb(cbind(F,L)~village*Year+(1|Year)+(1|village),family="binomial",data=na.omit (mydata)) Error: Error in glmmadmb(cbind(F, L) ~ village * Year + (1 | Year) + (1 | village), : rank of X = 30 < ncol(X) = 32 ## in advance, thanks for helping solve these issues(I'm very interested in interaction terms). Kinds regards,
Problem_Downdated VtV is not positive definite
2 messages · C. AMAL D. GLELE, Ben Bolker
On 2020-01-19 8:29 a.m., C. AMAL D. GLELE wrote:
Hello, everyone. In the models below, mydata has 32 rows village and Year are grouping factor variables with respectively 8 and 4 levels. 1) model1.1 fits well model1.1<-glmer(cbind(F,L)~village+Year+(1|Year)+(1|village), family="binomial",data=mydata) But, when I replace village+Year by village*Year, I get the warning and error message below model1.2<-glmer(cbind(F,L)~village*Year+(1|Year)+(1|village), family="binomial",data=mydata) Warning: fixed-effect model matrix is rank deficient so dropping 2 columns / coefficients Error message: Error in (function (fr, X, reTrms, family, nAGQ = 1L, verbose = 0L, maxit = 100L, : Downdated VtV is not positive definite
When you include a fixed effect of village*Year, it expands to (1 +
village + Year + village:Year).
Assuming Year is numeric, the combination of a fixed effect of Year
(treated as the overall slope of a linear relationship) and a random
intercept of Year (Year treated as a categorical grouping variable) is OK.
But ... you also have village as categorical fixed effect *and* a
random intercept, which is redundant.
You could use ~ Year + village:Year + (1|Year) + (1|village) *or*
~ Year + (1+Year|village)
I noticed a similar behavior when trying with glmmadmb: model2.1 fits well model2.1<-glmmadmb(cbind(F,L)~village+Year+(1|Year)+(1|village),family="binomial",data=na.omit (mydata)) But, with village*Year, Iget the error message below: model2.2<-glmmadmb(cbind(F,L)~village*Year+(1|Year)+(1|village),family="binomial",data=na.omit (mydata)) Error: Error in glmmadmb(cbind(F, L) ~ village * Year + (1 | Year) + (1 | village), : rank of X = 30 < ncol(X) = 32 ## in advance, thanks for helping solve these issues(I'm very interested in interaction terms). Kinds regards, [[alternative HTML version deleted]]
_______________________________________________ R-sig-mixed-models at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models