# [R] Naming a random effect in lmer

spencerg spencer.graves at prodsyse.com
Fri May 22 20:17:41 CEST 2009

```      The first exaample on the "lmer" help page uses a formula
"Reaction ~ Days + (Days|Subject)".  Here, "Subject" is the name of a
column in the data.frame "sleepstudy", with levels "308", "309", ... .

minimal, self-contained, reproducible code, as requested in the posting
not "self-contained, reproducible".

Hope this helps.
Spencer

Leigh Ann Starcevich wrote:
> Dear guRus:
>
> I am using lmer for a mixed model that includes a random intercept for a
> set of effects that have the same distribution, Normal(0, sig2b).  This set
> of effects is of variable size, so I am using an as.formula statement to
> create the formula for lmer.  For example, if the set of random effects has
> dimension 8, then the lmer call is:
>
> Zs<- paste("Z",1:mb,sep="")
> Trendformula <-as.formula(paste("LogY ~ WYear + (1+WYear|Site) +  (1|",
> paste(paste(Zs,collapse="+"), ")")))
> fit2.4a<-lmer(Trendformula, data = testsamp)
>
> which, for mb=8, expands to:
>
> fit1<-lmer(LogY ~ WYear + (1 | Site) + (1 | Year) + (1 | Z1+ Z2 + Z3 + Z4 +
> Z5 + Z6 + Z7 + Z8), data = testsamp)
>
>
> I have no problems with this.  However, if the set of random effects has a
> dimension of 30, then the lmer call is:
>
> fit2<-lmer(LogY ~ WYear + (1 | Site) + (1 | Year) + (1 | Z1+Z2 + Z3 + Z4 +
> Z5 + Z6 + Z7 + Z8 + Z9 + Z10 + Z11 + Z12 + Z13 + Z14 + Z15 +  Z16 + Z17 +
> Z18 + Z19 + Z20 + Z21 + Z22 + Z23 + Z24 + Z25 + Z26 + Z27 + Z28 + Z29+
> Z30), data = testsamp)
>
> In this case, I get an error because the name "Z1+Z2 + Z3 + Z4 + Z5 + Z6 +
> Z7 + Z8 + Z9 + Z10 + Z11 + Z12 + Z13 + Z14 + Z15 +  Z16 + Z17 + Z18 + Z19 +
> Z20 + Z21 + Z22 + Z23 + Z24 + Z25 + Z26 + Z27 + Z28 + Z29+ Z30" is too long
> to print in the output.   Is there any way to name the random effect in
> lmer so that the shorter (and more descriptive) name may be used and the
> error avoided?   Or is there a way to combine these into a single variable
> prior to the lmer function call?  In SAS, I am able to parameterize these
> as a Toeplitz structure with bandwidth 1.
>
> Thanks for any help.
>
> Leigh Ann Starcevich
> Doctoral student
> Oregon State University
> Corvallis, Oregon
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help