Saya ingin menggunakan lme4
agar sesuai dengan regresi efek campuran dan multcomp
untuk menghitung perbandingan berpasangan. Saya memiliki kumpulan data yang kompleks dengan beberapa prediktor kontinu dan kategoris, tetapi pertanyaan saya dapat ditunjukkan dengan menggunakan ChickWeight
kumpulan data bawaan sebagai contoh:
m <- lmer(weight ~ Time * Diet + (1 | Chick), data=ChickWeight, REML=F)
Time
kontinu dan Diet
kategoris (4 level) dan ada beberapa Cewek per diet. Semua anak ayam mulai dengan berat yang sama, tetapi diet mereka (mungkin) memengaruhi laju pertumbuhannya, sehingga Diet
intersepnya harus (kurang lebih) sama, tetapi lerengnya mungkin berbeda. Saya bisa mendapatkan perbandingan berpasangan untuk efek intersep Diet
seperti ini:
summary(glht(m, linfct=mcp(Diet = "Tukey")))
dan, memang, mereka tidak berbeda secara signifikan, tetapi bagaimana saya bisa melakukan tes analog untuk Time:Diet
efeknya? Menempatkan istilah interaksi saja mcp
menghasilkan kesalahan:
summary(glht(m, linfct=mcp('Time:Diet' = "Tukey")))
Error in summary(glht(m, linfct = mcp(`Time:Diet` = "Tukey"))) :
error in evaluating the argument 'object' in selecting a method for function
'summary': Error in mcp2matrix(model, linfct = linfct) :
Variable(s) ‘Time:Diet’ have been specified in ‘linfct’ but cannot be found in ‘model’!
sumber
Time*Diet
, yang hanya penyederhanaanTime + Diet + Time:Diet
. Menggunakananova(m)
atausummary(m)
mengonfirmasi bahwa istilah interaksi ada dalam model.Jawaban:
Secara default,
lmer
memperlakukan level referensi dari prediktor kategorikal sebagai baseline dan memperkirakan parameter untuk level lainnya. Jadi Anda mendapatkan beberapa perbandingan berpasangan di output default dan Anda bisa mendapatkan yang lain dengan menggunakanrelevel
untuk menentukan level referensi baru dan memasang kembali model. Ini memiliki keuntungan dengan membiarkan Anda menggunakan perbandingan model atau MCMC untuk mendapatkan nilai-p, tetapi tidak mengoreksi beberapa perbandingan (meskipun Anda bisa menerapkan koreksi sendiri setelahnya).Untuk menggunakannya
multcomp
, Anda perlu mendefinisikan matriks kontras. Setiap baris dalam matriks kontras mewakili bobot untuk efek yang Anda dapatkan dalam output model default, dimulai dengan Intercept. Jadi jika Anda menginginkan efek yang sudah termasuk dalam output dasar, Anda cukup meletakkan "1" di posisi yang sesuai dengan efek itu. Karena perkiraan parameter relatif terhadap tingkat referensi umum, Anda bisa mendapatkan perbandingan antara dua level lainnya dengan menetapkan bobot satu ke "-1" dan yang lainnya "1". Berikut ini cara kerjanya untukTime:Diet
istilah dalamChickWeight
contoh:Caveat emptor: Pendekatan ini tampaknya menggunakan pendekatan normal untuk mendapatkan nilai-p, yang agak anti-konservatif, dan kemudian menerapkan beberapa koreksi untuk beberapa perbandingan. Hasilnya adalah metode ini memberi Anda akses mudah ke sebanyak perkiraan parameter berpasangan dan kesalahan standar seperti yang Anda inginkan, tetapi nilai-p mungkin atau mungkin tidak seperti yang Anda inginkan.
(Terima kasih kepada Scott Jackson dari r-ling-lang-L untuk bantuan dengan ini)
sumber