12 votos

La manera adecuada de tratar con un 3-nivel de la tabla de contingencia de

Tengo un nivel tres tablas de contingencia, con los datos del conteo de varias especies, el anfitrión de la planta a partir de la cual fueron recogidos, y si la colección que sucedió en un día de lluvia (de hecho, esto es importante!). El uso de R, datos falsos podría ser algo como esto:

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

Ahora, quiero saber dos cosas: Son las especies asociadas con las plantas huésped? ¿"La lluvia o no" efecto de esta asociación? Yo solía loglm() de MASS para este:

 # 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)

Esto es un poco fuera de mi nivel de comodidad, y quería comprobar que me gustaría establecer los modelos de arriba a la derecha y que esta era la mejor manera de acercarse a estas preguntas.

10voto

Wouter Coekaerts Puntos 3494

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.

1voto

Eran Medan Puntos 193

La regresión logística parece adecuada para su problema. La variable que están tratando de predecir es la probabilidad de que una observación (que es Una especie o de especies B) es la especie A. Las covariables son $host$, $rain$ y, opcionalmente,$host*rain$.

El comando R sería:

glm(fórmula = especies ~ host + lluvia, family = binomial(logit), pesos=cuenta)

y usted estará interesado en el $p$-los valores de las pendientes. Tenga en cuenta que se están probando varias hipótesis, aunque.

1voto

Misha M Puntos 1978

Al principio me sugirió probar uno de los restringida de técnicas de ordenación de la vegan paquete, pero en un segundo pensamiento me cabe duda de que esto sería útil, ya que en realidad tiene 2 tablas de contingencia. Espero que la segunda parte de este ejemplo [PDF: R Demostración de categorías de Análisis] va a ser útil.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X