Closed RaymondBalise closed 2 years ago
Can you give us an an example of what cannot be done? I thought that lmer()
could do that.
The issue is with fitting models with heterogeneous error variance structures. For example, see the R (lme) code for Chapter 3 from Linear Mixed Models: A Practical Guide Using Statistical Software (Second Edition):
My understanding is that you can (if the design supports it). We use the heterogeneous covariance structure in tidyposterior
.
Here's an example from ?lmer
:
library(lme4)
#> Loading required package: Matrix
data(Orthodont, package = "nlme")
Orthodont$nsex <- as.numeric(Orthodont$Sex == "Male")
Orthodont$nsexage <- with(Orthodont, nsex * age)
lmer(distance ~
age +
(age | Subject) +
(0 + nsex | Subject) +
(0 + nsexage | Subject),
data = Orthodont)
#> boundary (singular) fit: see ?isSingular
#> Linear mixed model fit by REML ['lmerMod']
#> Formula: distance ~ age + (age | Subject) + (0 + nsex | Subject) + (0 +
#> nsexage | Subject)
#> Data: Orthodont
#> REML criterion at convergence: 442.6367
#> Random effects:
#> Groups Name Std.Dev. Corr
#> Subject (Intercept) 2.3268096
#> age 0.2264158 -0.61
#> Subject.1 nsex 0.0001559
#> Subject.2 nsexage 0.0000000
#> Residual 1.3100560
#> Number of obs: 108, groups: Subject, 27
#> Fixed Effects:
#> (Intercept) age
#> 16.7611 0.6602
#> optimizer (nloptwrap) convergence code: 0 (OK) ; 0 optimizer warnings; 1 lme4 warnings
Created on 2021-11-29 by the reprex package (v2.0.0)
Does this type of formula cover your use-case?
Sorry but no, this is not what I'm talking about. I'm talking about heterogeneous error variance. That is, the residual errors arise from distributions with different variance (as in the case of the Rat Pup example was included above).
This issue has been automatically locked. If you believe you have found a related problem, please file a new issue (with a reprex: https://reprex.tidyverse.org) and link to this issue.
I am super happy to see this package coming to life! Is there a way to interface with lme() or is it in the pipeline somewhere? I think I need it to accommodate heterogeneous error variance (which I think lmer() cannot do).