Saya telah bekerja dengan beberapa data yang memiliki beberapa masalah dengan pengukuran berulang. Dengan melakukan itu saya memperhatikan perilaku yang sangat berbeda antara lme()
dan lmer()
menggunakan data pengujian saya dan ingin tahu mengapa.
Kumpulan data palsu yang saya buat memiliki pengukuran tinggi dan berat badan untuk 10 subjek, masing-masing diambil dua kali. Saya mengatur data sehingga antara subjek akan ada hubungan positif antara tinggi dan berat badan, tetapi hubungan negatif antara tindakan berulang dalam setiap individu.
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
Berikut adalah sebidang data, dengan garis yang menghubungkan dua pengukuran dari masing-masing individu.
Jadi saya menjalankan dua model, satu dengan lme()
dari nlme
paket dan satu dengan lmer()
dari lme4
. Dalam kedua kasus saya menjalankan regresi berat terhadap tinggi badan dengan efek acak ID untuk mengontrol pengukuran berulang setiap individu.
library(nlme)
Mlme=lme(Height~Weight,random=~1|ID,data=DF)
library(lme4)
Mlmer=lmer(Height~Weight+(1|ID),data=DF)
Kedua model ini seringkali (walaupun tidak selalu tergantung pada benih) menghasilkan hasil yang sangat berbeda. Saya telah melihat di mana mereka menghasilkan estimasi varians yang sedikit berbeda, menghitung derajat kebebasan yang berbeda, dll., Tetapi di sini koefisien berada di arah yang berlawanan.
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
Untuk menggambarkan secara visual, modelkan dengan lme()
Dan model dengan lmer()
Mengapa model-model ini sangat berbeda?