Saya mencoba untuk memodelkan intensitas rata-rata parasit yang mempengaruhi inang dalam R menggunakan model binomial negatif. Saya terus mendapatkan 50 atau lebih peringatan yang mengatakan:
In dpois(y, mu, log = TRUE) : non-integer x = 251.529000
Bagaimana saya bisa mengatasi ini? Kode saya terlihat seperti ini:
mst.nb = glm.nb(Larvae+Nymphs+Adults~B.type+Month+Season, data=MI.df)
Jawaban:
Binomial negatif adalah distribusi untuk data jumlah, jadi Anda benar-benar ingin variabel respons Anda dihitung (yaitu, bilangan bulat non-negatif). Yang mengatakan, itu tepat untuk menjelaskan "upaya pengambilan sampel yang berbeda" (Saya tidak tahu persis apa yang Anda maksudkan, tapi saya mendapatkan intinya). Namun, Anda tidak boleh mencoba melakukan itu dengan membagi jumlah Anda dengan nomor lain. Sebagai gantinya, Anda perlu menggunakan nomor lain itu sebagai offset . Ada diskusi bagus tentang CV tentang apa offset di sini: Kapan menggunakan offset dalam regresi Poisson? Dugaan saya adalah bahwa model Anda harus seperti:
sumber
cbind()
.Ini peringatan, bukan kesalahan fatal. glm.nb () mengharapkan jumlah sebagai variabel hasil Anda, yang merupakan bilangan bulat. Data Anda bukan bilangan bulat: 251.529.
R mengatakan, "Hmmm ... Anda mungkin ingin memeriksa ini dan memastikan tidak apa-apa, karena mungkin kelihatannya tidak tepat." Jika ingatanku benar, SPSS tidak memberikan peringatan seperti itu.
Jika Anda yakin menggunakan model yang tepat, meskipun Anda tidak memiliki bilangan bulat, abaikan saja dan teruskan.
sumber
Saya seorang parasitologist ekologi .. cara Anda harus menangani ini adalah dengan mengikat host yang diparasit dan yang tidak, dan kemudian menggunakan distribusi binomial .. lihat kode di bawah ini.
Saya juga belum pernah menggunakan glm w / lebih dari satu variabel y .. jadi katakanlah Anda ingin melihat larva yang diparasit: Anda akan memiliki # larva yang sehat, dan # yang diparasit.
Katakanlah: Lh dan Lp
Jadi misalnya
parasitizedL = cbind (Lp, Lh) hist (parasitized) # Saya menduga Anda hanya dapat menggunakan distribusi binomial reguler dengan / glm .. dan mungkin tidak perlu neg.barang model PLarvae1 = glm (parasitizedL ~ B.type + Bulan + Musim, keluarga = binomial, data = MI.df)
kemudian lakukan pengurangan model bertahap untuk melihat faktor mana yang secara signifikan memengaruhi parasitisme ... lihat tautan di bawah ini
http://bbolker.github.io/mixedmodels-misc/glmmFAQ.html
Namun sepertinya Anda harus memiliki efek acak untuk memperhitungkan pengambilan sampel berulang .. sehingga kemungkinan efek acak Anda akan (1 | Musim / Bulan) ... tetapi sulit untuk mengatakan tanpa mengetahui data Anda
sumber