I get the error "Error in array(NA, c(J, K)) : 'dims' cannot be of length 0" when trying to extract standard errors for random effects using ranef or se.cf functions.
After digging into the code for ranef(), I see that the line
attr( se.bygroup[[m]], "postVar" ) should return an array type object, but in my case it returns a list. I am modifying the code by doing the following:
if(is.list(vars.m)){ vars.m = array(as.numeric(unlist(vars.m)), dim=c(4, 4, 10)) # number of estimates including intercept is 4 and number of levels is 10 }
I hope this makes sense.
Also to give some background this only happens when I run models of the form:
lmer ( y ~ x1 + x2 + ( 1 + x1 + x2 || level ), data )
I get the error "Error in array(NA, c(J, K)) : 'dims' cannot be of length 0" when trying to extract standard errors for random effects using ranef or se.cf functions.
After digging into the code for ranef(), I see that the line
attr( se.bygroup[[m]], "postVar" )
should return an array type object, but in my case it returns a list. I am modifying the code by doing the following:if(is.list(vars.m)){ vars.m = array(as.numeric(unlist(vars.m)), dim=c(4, 4, 10)) # number of estimates including intercept is 4 and number of levels is 10 }
I hope this makes sense.
Also to give some background this only happens when I run models of the form:
lmer ( y ~ x1 + x2 + ( 1 + x1 + x2 || level ), data )