как настроить nlme, чтобы дать те же результаты, что и lme - PullRequest
0 голосов
/ 04 июня 2019

Вопрос выглядит наивным, но я озадачен конфигурацией функции nlme в R, чтобы получить эквивалентные результаты для данной lme модели.

1 Ответ

2 голосов
/ 04 июня 2019

Это похоже на работу.Обратите внимание, что значения по умолчанию для method различны для lme ("REML") и nlme ("ML") ...

m1 <- lme(distance ~ age, 
          random = ~ age |Subject, data=Orthodont, 
          method="ML")

nlme требуются начальные значения - чит здесь ииспользуйте те из lme:

m2 <- nlme(distance ~ mu, 
           fixed = mu ~ age, 
           random = mu ~ age | Subject, 
           data=Orthodont, 
           start=list(fixed=fixef(m1)))

Матрицы дисперсии-ковариации практически идентичны.

> VarCorr(m1)
Subject = pdLogChol(age) 
            Variance   StdDev    Corr  
(Intercept) 4.81407327 2.1940996 (Intr)
age         0.04619252 0.2149244 -0.581
Residual    1.71620466 1.3100399       
> VarCorr(m2)
Subject = pdLogChol(list(mu ~ age)) 
               Variance   StdDev    Corr  
mu.(Intercept) 4.81408901 2.1941032 m.(In)
mu.age         0.04619255 0.2149245 -0.581
Residual       1.71620373 1.3100396  
...