suyusung / arm

Data Analysis Using Regression and Multilevel/Hierarchical Models
23 stars 6 forks source link

Issue with ranef function #10

Closed pankajgitnab closed 3 years ago

pankajgitnab commented 5 years ago

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 )

suyusung commented 4 years ago

I guess the double || in lmer() is the reason. Can you provide a simple example for me to test it? Accordingly, I can revise the code.