Há duas maneiras de interpretar sua primeira pergunta, que se refletem nas duas maneiras que você fez: "As espécies estão associadas às plantas hospedeiras?" e "As espécies são independentes das plantas hospedeiras, dado o efeito da chuva?"
A primeira interpretação corresponde a um modelo de independência conjunta , que afirma que espécies e hospedeiros são dependentes, mas conjuntamente independentes de chover:
ps h r= ps hpr
pshr(s,h,r)shrpsh(s,h,⋅)pr
A segunda interpretação corresponde a um modelo de independência condicional , que afirma que espécies e hospedeiros são independentes, independentemente de chover:
psh|r=ps|rph|rps h r= ps rph r/ pr
ps h | r( s , h , r ) célula, dado um valor de r.
Você pode testar esses modelos em R ( loglin
também funcionaria bem, mas estou mais familiarizado 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
Acima, mod1
corresponde à independência conjunta e mod2
à independência condicional, enquanto mod0
corresponde a um modelo de independência mútuaps h r= psphpr. Você pode ver as estimativas de parâmetros usando summary(mod2)
, etc. Como sempre, verifique se as suposições do modelo são atendidas. Nos dados que você forneceu, o modelo nulo realmente se encaixa adequadamente.
Uma maneira diferente de abordar sua primeira pergunta seria executar o teste exato de Fischer ( fisher.test(xtabs(count ~ host + species))
) na tabela 2x2 recolhida (primeira interpretação) ou o teste de Mantel-Haenszel ( mantelhaen.test(xtabs(count ~ host + species + rain))
) para tabelas 2x2 estratificadas ou escrever um teste de permutação que respeite a estratificação (segunda interpretação).
Parafraseando sua segunda pergunta, a relação entre espécies e hospedeiro depende se choveu?
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)
O modelo completo mod4
está saturado, mas você pode testar o efeito em questão observando o desvio de mod3
como fiz acima.