[R-sig-ME] Trying to understand the syntax of lmer

Ben Bolker bbo|ker @end|ng |rom gm@||@com
Sun Sep 15 00:20:50 CEST 2019


On Sat, Sep 14, 2019 at 5:42 PM Sorkin, John <jsorkin using som.umaryland.edu> wrote:
>
> Colleagues,
> I hope you will not mind my asking seven questions, questions designed to allow me to know if my basic understanding of lmer syntax is correct. Below I post code and in the comments 7 questions.
>
>
> data(Orthodont,package="nlme")
> Orthodont$nsex <- as.numeric(Orthodont$Sex=="Male")
> Orthodont$nsexage <- with(Orthodont, nsex*age)
>
> # (1) Is this a model with a random intercept in which, each subject has his, or her own intercept?
> lmer(distance ~ age +(1|Subject),data=Orthodont)

 Yes
>
> # (2) Is this a model with a random slope, where age is the slope, each subject having their own slope?
> lmer(distance ~ age + (0+age|Subject), data=Orthodont)

  Yes
>
> # (3) Is this a model with random intercept, Subject, and random slope age?

  I'm confused.  Are you referring to this model

(a) > lmer(distance ~ age +(1|Subject)+(0+age|Subject), data=Orthodont)

or

(b)  lmer(distance ~ age + (age|Subject), data=Orthodont)

  Both models allow varying intercepts and slopes among Subjects.

> # (4) If it is, what is the assumed covariance structure between slope and intercept?

 (a) intercept-slope covariance is constrained to 0
 (b) variance-covariance matrix is positive semi-definite (i.e., both
eigenvalues >=0).  Correlation can be any value between -1 and 1.



> # (5) Is the covariance structure assumed to be unstructured?

 (a) No.
(b) Yes.

> # (6) How can I get the estimated covariance between intercept (subject) and slope (age)?
> lmer(distance ~ age +(1|Subject)+(0+age|Subject), data=Orthodont)

 (a) it's constrained to be zero
 (b) VarCorr(fitted_model)$Subject[1,2]

> # (7) The next two models, I believe have a random intercept (a separate slope for each subject),
> #     an age*sex interaction, a random slope (age) for each subject. Are my assumptions correct?
> lmer(distance ~ age +Sex+nsexage+(1|Subject)+(0+age|Subject), data=Orthodont)
> lmer(distance ~ age +Sex+Sex*age+(1|Subject)+(0+age|Subject), data=Orthodont)

  Yes. In the second model, the fixed effect specification is slightly
redundant.
  distance ~ age*Sex + ... (or ~ Sex*age + ...) will include the main
effects as well as the interaction.
(questions about fixed-effect model specification are not specific to
mixed models, but follow R's general rules as implemented by
model.matrix() ...)

See:

  section 2.2 of Bates et all JSS paper [vignette("lmer",package="lme4")]
 and https://bbolker.github.io/mixedmodels-misc/glmmFAQ.html#model-specification
(and links therein:
http://www.rensenieuwenhuis.nl/r-sessions-16-multilevel-model-specification-lme4/
and https://rpsychologist.com/r-guide-longitudinal-lme-lmer)

>
> Thank you for your patients with my eight questions.
>
> John
>
>
>
> John David Sorkin M.D., Ph.D.
>
> Professor of Medicine
>
> Chief, Biostatistics and Informatics
>
> University of Maryland School of Medicine Division of Gerontology and Geriatric Medicine
>
> Baltimore VA Medical Center
>
> 10 North Greene Street
>
> GRECC (BT/18/GR)
>
> Baltimore, MD 21201-1524
>
> (Phone) 410-605-7119
>
> (Fax) 410-605-7913 (Please call phone number above prior to faxing)
>
>
>
> _______________________________________________
> R-sig-mixed-models using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models



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