有两种解释第一个问题的方式,这在您提出的两种方式中得到了反映:“物种是否与寄主植物有关?” 而且,“考虑到降雨的影响,物种是否独立于寄主植物?”
第一种解释对应于联合独立的模型,该模型指出物种和寄主是相互依赖的,但是共同独立于是否下雨:
p小号^ h [R= p小号^ hp[R
p小号^ h [R(s ,h ,r )sH[Rp小号^ h(s ,h ,⋅ )p[R
第二种解释对应于条件独立性模型,该模型指出物种和寄主在下雨的情况下是独立的:
ps h | [R= ps | [Rph | [Rpshr=psrphr/pr
psh|r(s,h,r)r
您可以在R中测试这些模型(loglin
也可以正常工作,但我更熟悉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
mod1
mod2
mod0
pshr=psphprsummary(mod2)
解决第一个问题的另一种方法是对fisher.test(xtabs(count ~ host + species))
折叠的2x2表格执行Fischer的精确测试()(第一种解释),或者mantelhaen.test(xtabs(count ~ host + species + rain))
对2层2x2表格进行Mantel-Haenszel检验()或编写尊重分层的置换测试(第二种解释)。
套用你的第二个问题,请问物种和主机之间的关系取决于它是否下雨?
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)
完整的模型mod4
已经饱和,但是您可以通过查看mod3
上面我所做的偏离来测试有问题的效果。