Существует два способа интерпретации вашего первого вопроса, которые отражены в двух ваших ответах: «Связаны ли виды с растениями-хозяевами?» и «Являются ли виды независимыми от растений-хозяев, учитывая влияние дождя?»
Первая интерпретация соответствует модели совместной независимости , которая гласит, что виды и хозяева зависимы, но совместно независимы от того, шел ли дождь:
пс ч р= рс чпр
где - это вероятность того, что наблюдение попадает в ячейку где индексирует виды, тип хозяина и значение rain, - предельная вероятность ячейка, где мы разрушаемся по переменной дождя, а - предельная вероятность дождя.пс ч р( с , ч , г )sчасрпс ч( с , ч , ⋅ )пр
Вторая интерпретация соответствует модели условной независимости , которая гласит, что виды и хозяева независимы, учитывая, шел ли дождь:
psh|r=ps|rph|r илиpshr=psrphr/pr
где - условная вероятность ячейки заданном значении . ( s , h , r ) rpsh|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))
( mantelhaen.test(xtabs(count ~ host + species + rain))
) для свернутой таблицы 2x2 (первая интерпретация) или тест Мантеля-Хензеля ( ) для двухслойных таблиц 2x2 или написать тест перестановки, учитывающий стратификацию. (вторая интерпретация).
Перефразируя ваш второй вопрос, зависят ли отношения между видами и хозяином от того, шел ли дождь?
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
что я делал выше.
Логистическая регрессия кажется подходящей для вашей проблемы. Переменная, которую вы пытаетесь предсказать, - это вероятность того, что наблюдение (которое относится либо к виду A, либо к виду B) относится к виду A. Ковариатами являются , и, необязательно, .р я п ч о с т * г а я пhost rain host∗rain
Команда R будет:
и вы будете заинтересованы в значениях склонов. Имейте в виду, что вы проверяете несколько гипотез, хотя.p
источник
Первоначально я предложил попробовать один из методов ограниченного ординации из
vegan
пакета, но, подумав еще раз, я сомневаюсь, что это было бы полезно, поскольку у вас на самом деле есть две таблицы сопряженности. Я надеюсь, что вторая часть этого примера [PDF: R Демонстрация - Категориальный анализ] будет полезна.источник