Ho lavorato con alcuni dati che hanno alcuni problemi con misurazioni ripetute. In tal modo ho notato un comportamento molto diverso tra lme()e lmer()utilizzando i miei dati di test e voglio sapere perché.
Il set di dati falsi che ho creato ha misurazioni di altezza e peso per 10 soggetti, prese due volte ciascuna. Ho impostato i dati in modo che tra i soggetti ci fosse una relazione positiva tra altezza e peso, ma una relazione negativa tra le misure ripetute all'interno di ciascun individuo.
set.seed(21)
Height=1:10; Height=Height+runif(10,min=0,max=3) #First height measurement
Weight=1:10; Weight=Weight+runif(10,min=0,max=3) #First weight measurement
Height2=Height+runif(10,min=0,max=1) #second height measurement
Weight2=Weight-runif(10,min=0,max=1) #second weight measurement
Height=c(Height,Height2) #combine height and wight measurements
Weight=c(Weight,Weight2)
DF=data.frame(Height,Weight) #generate data frame
DF$ID=as.factor(rep(1:10,2)) #add subject ID
DF$Number=as.factor(c(rep(1,10),rep(2,10))) #differentiate between first and second measurement
Ecco un diagramma dei dati, con linee che collegano le due misurazioni da ciascun individuo.

Quindi ho eseguito due modelli, uno con lme()dal nlmepacchetto e uno con lmer()da lme4. In entrambi i casi ho eseguito una regressione del peso rispetto all'altezza con un effetto casuale di ID per controllare le misurazioni ripetute di ciascun individuo.
library(nlme)
Mlme=lme(Height~Weight,random=~1|ID,data=DF)
library(lme4)
Mlmer=lmer(Height~Weight+(1|ID),data=DF)
Questi due modelli spesso (sebbene non sempre dipendano dal seme) hanno generato risultati completamente diversi. Ho visto dove generano stime di varianza leggermente diverse, calcolano diversi gradi di libertà, ecc., Ma qui i coefficienti sono in direzioni opposte.
coef(Mlme)
# (Intercept) Weight
#1 1.57102183 0.7477639
#2 -0.08765784 0.7477639
#3 3.33128509 0.7477639
#4 1.09639883 0.7477639
#5 4.08969282 0.7477639
#6 4.48649982 0.7477639
#7 1.37824171 0.7477639
#8 2.54690995 0.7477639
#9 4.43051687 0.7477639
#10 4.04812243 0.7477639
coef(Mlmer)
# (Intercept) Weight
#1 4.689264 -0.516824
#2 5.427231 -0.516824
#3 6.943274 -0.516824
#4 7.832617 -0.516824
#5 10.656164 -0.516824
#6 12.256954 -0.516824
#7 11.963619 -0.516824
#8 13.304242 -0.516824
#9 17.637284 -0.516824
#10 18.883624 -0.516824
Per illustrare visivamente, modellare con lme()
E modella con lmer()
Perché questi modelli stanno divergendo così tanto?


