Как учесть вложенный дизайн выборки в формуле R stat для mvabund? - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть экспериментальный набор данных, в котором 16 рыб в 4 аквариумах (64 рыбы).Есть две обработки - с подогревом и контроль и четыре резервуара.Нагревание проводилось в резервуаре 1 и 2, в то время как контроль в резервуаре 3 и 4. В 4 различных временных периодах в течение всего эксперимента (день 1,2,3 и 4) были взяты пробы четырех рыб и проанализированы микробиомы в четырех положениях вдоль кишки.Поэтому у меня 256 выборок.

Зависимой переменной в этом случае является многовариантная матрица композиции сообщества, которая может быть приспособлена к отрицательному биномиальному распределению.

Я хочу знать, что были различия вмикробиомы отобранных рыб для каждой временной точки и термической обработки.

Мой вопрос: каков правильный синтаксис формулы для ввода в функцию manyglm (package :: mvabund), чтобы представить этот дизайн выборки?

Я пытался запустить 4 модели Manyglm - по одной на каждое время выборки (но я подозреваю, что теряю силу из-за этого анализа).

Я также пытался:

manyglm(phy.mv ~ Treatment * Time + (1/Tank/Individual/GutLocation),
    data=meta.phy, family="negative.binomial")

Построитьпример сообщества матрица.Обратите внимание, что правильный набор данных является нулевым, поэтому используется отрицательное биномиальное распределение.В этом примере также только 4 таксона (столбцы), реальные данные имеют 1000 таксонов.

# Build example data with community matrrix Y and experimental design
# and factor in x

Y <- data.frame(cbind(round(runif(256,0,100000), 0),
round(runif(256,0,100000), 0),
round(runif(256,0,100000), 0),
round(runif(256,0,100000), 0)))

Individual <- as.factor(rep(1:64, each=4))
GutLocation <- as.factor(rep(c(1,2,3,4), times=64))
Tank <- as.factor(rep(rep(1:4, each=16), time=4))
Treatment <- as.factor(rep(rep(1:2, each=32),times=4))
Time <-as.factor(rep(1:4, each=64))
x <- data.frame(cbind(Individual, GutLocation, Tank, Treatment, Time))

Ввод в mvabund

library(mvabund)
Y.mv <- mvabund(Y)
mod <- manyglm(Y.mv ~ Treatment * Time + 
                (1/Tank/Individual/GutLocation),
                     data=x, family="negative.binomial")

И для тестирования модели

mod.anova <- anova(mod, nBoot=10, test="LR")
# nBoot = 10 to keep computing time to a min

Точно ли эта формула отражает мой дизайн исследования?

Заранее спасибо, Крис

...