ПЕРМАНОВА контрастирует по комбинации уровней

Я начал создавать сценарий для контрастов PERMANOVA по комбинации уровней с помощью функции adonis, но, похоже, не работает сочетание матрицы уровней с созданным объектом adonis, мой код был:

пакеты

require(vegan)
require(doBy)
require(wzRfun)
require(multcomp)

Набор данных

data(mite)
A = c(rep(c(0), 30), rep(c(1), 30))
B = rep(c(rep(c(0), 15), rep(c(1), 15)), 2) 

Создать фрейм данных

A <- as.factor(A)
B <- as.factor(B)
species <- mite[1:60,]

ПЕРМАНОВА с Жакард индексом

man.com<-adonis(species ~ A * B, method = "jaccard",permutations=999)
man.com

Двусторонняя ПЕРМАНОВА Контрасты

взаимодействие

A_B<- interaction(A, B)
levels(A_B)
do.call(rbind, strsplit(levels(A_B), "\\."))


g0 <- adonis(species ~ A * B, method = "jaccard",permutations=999)
g1 <- adonis(species ~ A_B, method = "jaccard",permutations=999)

M <- LSmatrix(g0, effect=c("A","B"))

Средняя оценка

data.frame(g0=M%*%coef(g0), g1=coef(g1))

Сочетание уровней

str(M)
grid <- attr(M, "grid")

Матрица контрастов между уровнями лечения

B <- "b"
A <- "a"
spl <- interaction(grid[,2])
i <- 1:nrow(grid)
l <- split(i, f=spl)
contr <- lapply(l,
                function(row){
                    ## Contrast matrix parwise
                    a <- apc(M[row,], lev=levels(d[,2]))
                    rownames(a) <- paste(spl[row[1]],
                                         rownames(a), sep="/")
                    return(a)
                })
contr <- do.call(rbind, contr)
contr

Constrasts

summary(glht(g0, linfct=contr),
        test=adjusted(type="fdr"))

Может кто-нибудь, пожалуйста, помогите мне,

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

0 ответов

Другие вопросы по тегам