Cara yang tepat untuk berurusan dengan tabel kontingensi 3 tingkat


12

Saya memiliki tabel kontingensi tiga tingkat, dengan data penghitungan untuk beberapa spesies, tanaman inang dari mana mereka dikumpulkan dan apakah pengumpulan itu terjadi pada hari hujan (ini sebenarnya penting!). Menggunakan R, data palsu mungkin seperti ini:

count    <- rpois(8, 10)
species  <- rep(c("a", "b"), 4)
host     <- rep(c("c","c", "d", "d"), 2)
rain     <- c(rep(0,4), rep(1,4))
my.table <- xtabs(count ~ host + species + rain)


, , rain = 0

    species
host  a  b
   c 12 15
   d 10 13

, , rain = 1

    species
host  a  b
   c 11 12
   d 12  7

Sekarang, saya ingin tahu dua hal: Apakah spesies terkait dengan tanaman inang? Apakah "hujan atau tidak" mempengaruhi hubungan ini? Saya menggunakan loglm()dari MASSuntuk ini:

 # Are species independent to host plants, given the effect of rain?
loglm(~species + host + rain + species*rain + host*rain, data=my.table)

 # Given any relationship between host plants and species, does rain change it?
loglm(~species + host + rain + species*host)

Ini sedikit di luar tingkat kenyamanan saya, dan saya ingin memastikan bahwa saya telah mengatur model dengan benar dan ini adalah cara terbaik untuk mendekati pertanyaan-pertanyaan ini.

Jawaban:


10

Ada dua cara untuk menafsirkan pertanyaan pertama Anda, yang tercermin dalam dua cara Anda bertanya: "Apakah spesies terkait dengan tanaman inang?" dan, "Apakah spesies tidak tergantung pada tanaman inang, mengingat efek hujan?"

Interpretasi pertama sesuai dengan model independensi bersama , yang menyatakan bahwa spesies dan inang tergantung, tetapi bersama-sama independen dari apakah hujan:

pshr=pshpr

pshr(s,h,r)shrpsh(s,h,)pr

Interpretasi kedua sesuai dengan model kemerdekaan bersyarat , yang menyatakan bahwa spesies dan inang independen tergantung apakah hujan:

psh|r=ps|rph|rpshr=psrphr/pr

psh|r(s,h,r)r

Anda dapat menguji model-model ini dalam R ( loglinakan bekerja dengan baik juga, tetapi saya lebih akrab dengan glm):

count <- c(12,15,10,13,11,12,12,7)
species <- rep(c("a", "b"), 4)
host <- rep(c("c","c", "d", "d"), 2)
rain <- c(rep(0,4), rep(1,4))
my.table <- xtabs(count ~ host + species + rain)
my.data <- as.data.frame.table(my.table)
mod0 <- glm(Freq ~ species + host + rain, data=my.data, family=poisson())
mod1 <- glm(Freq ~ species * host + rain, data=my.data, family=poisson())
mod2 <- glm(Freq ~ (species + host) * rain, data=my.data, family=poisson())
anova(mod0, mod1, test="Chi") #Test of joint independence
anova(mod0, mod2, test="Chi") #Test of conditional independence

mod1mod2mod0pshr=psphprsummary(mod2)

Cara berbeda untuk mendekati pertanyaan pertama Anda adalah dengan melakukan uji pasti Fischer ( fisher.test(xtabs(count ~ host + species))) pada tabel 2x2 yang runtuh (interpretasi pertama) atau uji Mantel-Haenszel ( mantelhaen.test(xtabs(count ~ host + species + rain))) untuk tabel 2x2 bertingkat 2 atau menulis tes permutasi yang menghormati stratifikasi. (interpretasi kedua).

Mengutip pertanyaan kedua Anda, Apakah hubungan antara spesies dan inang tergantung pada apakah hujan?

mod3 <- glm(Freq ~ species*host*rain - species:host:rain, data=my.data, family=poisson())
mod4 <- glm(Freq ~ species*host*rain, data=my.data, family=poisson())
anova(mod3, mod4, test=”Chi”)
pchisq(deviance(mod3), df.residual(mod3), lower=F)

Model lengkapnya mod4sudah jenuh, tetapi Anda bisa menguji efeknya dengan melihat penyimpangan mod3seperti yang saya lakukan di atas.


Terima kasih Lockedoff, terutama karena membantu saya memilah-milah pemikiran saya sendiri, perbedaan antara model kemerdekaan bersyarat dan bersama
david w

1

hostrainhostrain

Perintah R adalah:

glm (rumus = spesies ~ inang + hujan, keluarga = binomial (logit), bobot = jumlah)

p


1
Regresi logistik tampaknya ok, tetapi memiliki batasan tambahan baris dan kolom total sedang diperbaiki. Ini mungkin tidak terjadi dengan data Poisson. Saya percaya jawabannya tidak akan banyak berbeda.
suncoolsu

1

Awalnya saya menyarankan untuk mencoba salah satu teknik penahbisan terbatas dari veganpaket, tetapi pada pemikiran kedua saya ragu bahwa ini akan berguna, karena Anda benar-benar memiliki 2 tabel kontingensi. Saya berharap bahwa bagian kedua dari contoh ini [PDF: R Demonstrasi - Analisis Kategorikal] akan membantu.


Pikirkan tautannya rusak, maksud Anda yang kategorikal ini di sini ? Itu membantu, terima kasih!
david w

Ya, sepertinya ruang di URL memecahnya.
ils
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.