Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can I use lme()? #17

Closed
RaymondBalise opened this issue Nov 14, 2021 · 5 comments · Fixed by #18
Closed

Can I use lme()? #17

RaymondBalise opened this issue Nov 14, 2021 · 5 comments · Fixed by #18

Comments

@RaymondBalise
Copy link

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).

@topepo
Copy link
Member

topepo commented Nov 23, 2021

Can you give us an an example of what cannot be done? I thought that lmer() could do that.

@RaymondBalise
Copy link
Author

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):

http://www-personal.umich.edu/~bwest/chapter3_R_final.R

@topepo
Copy link
Member

topepo commented Nov 29, 2021

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?

@RaymondBalise
Copy link
Author

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).

@github-actions
Copy link

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.

@github-actions github-actions bot locked and limited conversation to collaborators Mar 12, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants