Jadi, bagi saya kelihatannya fungsi bobot dalam lm memberikan bobot pengamatan lebih besar, semakin besar nilai 'bobot' pengamatan, sedangkan fungsi lme di lme justru melakukan sebaliknya. Ini dapat diverifikasi dengan simulasi sederhana.
#make 3 vectors- c is used as an uninformative random effect for the lme model
a<-c(1:10)
b<-c(2,4,6,8,10,100,14,16,18,20)
c<-c(1,1,1,1,1,1,1,1,1,1)
Jika Anda sekarang menjalankan model di mana Anda menimbang pengamatan berdasarkan pada kebalikan dari variabel dependen dalam lm, Anda hanya dapat menghasilkan hasil yang sama persis di nlme jika Anda menimbang dengan hanya variabel dependen, tanpa mengambil invers.
summary(lm(b~a,weights=1/b))
summary(lme(b~a,random=~1|c,weights=~b))
Anda dapat membalik ini dan melihat yang sebaliknya adalah benar-menentukan bobot = b dalam lm membutuhkan bobot = 1 / b untuk mendapatkan hasil yang cocok.
Jadi, saya sangat mengerti ini, saya hanya ingin validasi pada satu hal dan untuk bertanya tentang yang lain.
- Jika saya ingin memberi bobot pada data saya berdasarkan kebalikan dari variabel dependen, apakah boleh menggunakan kode bobot = ~ (variabel dependen) saja di dalam lme?
- Mengapa aku ditulis untuk menangani bobot sama sekali berbeda dari aku? Apa tujuan dari ini selain untuk menghasilkan kebingungan?
Wawasan apa pun akan dihargai!
lm()
dibutuhkan untuk kompatibel dengan S dan berbagai buku, nlme tidak, dan itu bertujuan untuk menjadi lebih fleksibel, yang memungkinkan heterogenitas yang akan dimodelkan lebih fleksibel daripadalm
memungkinkan.