Hay dos maneras de interpretar su primera pregunta, que se reflejan en las dos formas que se preguntó: "Son las especies asociadas con las plantas huésped?" y, "Son independiente de las especies de las plantas huésped, dado el efecto de la lluvia?"
La primera interpretación, corresponde a un modelo de articulación de la independencia, que dice que las especies y los anfitriones son dependientes, sino en conjunto independiente de si llovía:
$\quad p_{shr} = p_{sh} p_r$
donde $p_{shr}$ es la probabilidad de que una observación se cae en el $(s,h,r)$ celda donde $s$ los índices de especies, $h$ tipo de host, y $r$ lluvia valor, $p_{sh}$ es la probabilidad marginal de la $(s,h,\cdot)$ celda donde nos colapsan sobre la lluvia variable, y $p_r$ es la probabilidad marginal de la lluvia.
La segunda interpretación, corresponde a un modelo de independencia condicional, que dice que las especies y los anfitriones son independientes dado de si llovía:
$\quad p_{sh|r} = p_{s|r}p_{h|r}$ o $p_{shr} = p_{sr}p_{hr} / p_r$
donde $p_{sh|r}$ es la probabilidad condicional de la $(s,h,r)$ celulares, dado un valor de $r$.
Puede probar estos modelos en R (loglin
funcionaría muy bien también, pero estoy más familiarizado con 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
Anteriormente, mod1
corresponde a la articulación de la independencia y mod2
corresponde a la independencia condicional, mientras que mod0
corresponde a una mutua independencia del modelo de $p_{shr} = p_s p_h p_r$. Usted puede ver las estimaciones de los parámetros de uso summary(mod2)
, etc. Como de costumbre, usted debe comprobar para ver si los supuestos del modelo se cumplen. En los datos por usted facilitados, el modelo nulo realmente se ajusta adecuadamente.
Una manera diferente de aproximarse a su primera pregunta sería para realizar el test exacto de Fischer (fisher.test(xtabs(count ~ host + species))
) sobre los escombros de la tabla de 2x2 (primera interpretación) o el test de Mantel-Haenszel (mantelhaen.test(xtabs(count ~ host + species + rain))
) 2-estratificado de las tablas 2 x 2, o escribir una prueba de permutación que respeta la estratificación (segunda interpretación).
Parafraseando a su segunda pregunta, ¿la relación entre las especies y de acogida dependen de si llovía?
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)
El modelo completo mod4
es saturada, pero usted puede probar el efecto en cuestión mirando la desviación de mod3
como lo he hecho anteriormente.