[R-sig-ME] Different random effects variances for outcomes and groups

Sarah Barry sarah at stats.gla.ac.uk
Wed Sep 19 14:28:03 CEST 2007

Dear all,

I wonder if someone could give me some insight on coding lmer.  I have 
facial shape data on children in two groups at four time points (3,6,12 
and 24 months).  Each child has a set of coordinate positions measured 
on their face at each time point (the set of coordinates is the same 
across individuals and times).  Take coordinates 1 and 2 only for now 
(reproducible code at the bottom of this email for simulated data).

If I plot the trends for coordinates 1 and 2 for each individual over 
time, there is a different amount of variance amongst the individuals 
(at least in the intercept, and maybe in the slope) for the two 
coordinates and also within the two groups, with group 1 (cleft) having 
higher variation than group 0 (control).  I want to allow for these 
sources of variation in the model.  The other thing is that I would 
expect coordinate positions within an individual to be correlated so I 
also want to allow for this.  The model, therefore, would be (for 
coordinate r=1,2 measured on individual i at time t, group_i an 
indicator variable taking value one for group 1 and zero otherwise):

y_{ir}(t) = \beta_{0r} + \beta_{1r} group_i + \beta_{2r} t + \beta_{3r} 
group_i : t  + b_{ir0} + group_i * b_{ir1} + \epsilon_{ir}(t),

where \epsilon_{ir}(t) ~ N(0, \sigma2) and the random effect b_{irp} ~ 
N(0, \sigma_{rp}2), for p=0,1.   I think the following code is 
appropriate (model 1):

+ (0+coord1+coord2+coord1:group+coord2:group|ID), data=simdata)

where coord1 and coord2 are indicator variables for coordinates 1 and 2, 
respectively, time is continuous and group is an indicator variable 
taking value one for the cleft group and zero for the controls.  Does 
the random effects part make sense?  I'm especially unsure about 
allowing correlations between all of the random effects terms, although 
I think that's it's appropriate under this parameterisation because each 
person has a value for both coordinates 1 and 2, and the group effect is 

An alternative parameterisation is (model 2):

+ (0+gp0:coord1+gp0:coord2|ID)+(0+coord1:group+coord2:group|ID), 

where gp0 is an indicator variable taking value one if the individual is 
in group 0 and zero otherwise.  It seems to me that this should be 
equivalent to model 1, but it doesn't appear to be (perhaps this just 
comes down to fewer correlations estimated in model 2).

If a correlation between random effects is estimated to be 1 or -1, is 
this generally because the model is over-parameterised?

Reproducible code is below.

n.subj <- 200
n.times <- 3
n.coords <- 2
simdata <- data.frame(coord1=c(rep(1,n.subj*n.times), 
simdata$coord2 <- c(rep(0,n.subj*n.times), rep(1,n.subj*n.times))
simdata$coord <- ifelse(simdata$coord1==1, 1, 2)
simdata$ID <- rep(rep(1:n.subj, each=n.times),2)
simdata$time <- rep(1:n.times, n.subj*n.coords)
simdata$group <- rep(c(1,0,1,0), each=n.subj*n.times/2)
simdata$gp0 <- 1-simdata$group
simdata$y <- rep(NA, dim(simdata)[1])
randeff <- c(rep(rnorm(n.subj/2, 0, 15),each=n.times), 
rep(rnorm(n.subj/2, 0, 10), each=n.times), rep(rnorm(n.subj/2, 0, 25), 
each=n.times), rep(rnorm(n.subj/2, 0, 20), each=3))
for (i in 1:dim(simdata)[1]) simdata$y[i] <- rnorm(1, 
randeff[i]+simdata$time[i]+simdata$coord[i]+10*simdata$group[i], 16)

+ (0+coord1+coord2+coord1:group+coord2:group|ID), data=simdata)
+ (0+gp0:coord1+gp0:coord2|ID)+(0+coord1:group+coord2:group|ID), 

Many thanks for any help.

Best regards,

Sarah Barry, MSc
Department of Statistics
University of Glasgow
Tel: +44 (0)141 330 2474
Fax: +44 (0)141 330 4814

More information about the R-sig-mixed-models mailing list