Eu recebi sua resposta certa? - Você quer testar se há diferença estatisticamente significativa entre as duas condições?
Perhabs vegan :: adonis () é algo para você? Não sei se é isso que você está procurando.
Ele trabalha na matriz de distância e compara as distâncias dentro de uma condição que são maiores que as condições. Por exemplo, em um NMDS, você veria uma separação clara das duas condições.
Aqui está um exemplo de código:
df <- data.frame(cond = rep(c("A", "B"), each = 100),
v1 <- jitter(rep(c(20, 100), each = 100)),
v2 <- jitter(rep(c(0, 80), each = 100)),
v3 <- jitter(rep(c(40, 5), each = 100)),
v4 <- jitter(rep(c(42, 47), each = 100)),
v5 <- jitter(rep(c(78, 100), each = 100)),
v6 <- jitter(rep(c(10, 100), each = 100)))
# PCA
require(vegan)
pca <- rda(df[ ,-1], scale = TRUE)
ssc <- scores(pca, display = "sites")
ordiplot(pca, type = "n")
points(ssc[df$cond == "A", ], col = "red", pch = 16)
points(ssc[df$cond == "B", ], col = "blue", pch = 16)
# NMDS
nmds <- metaMDS(df[ ,-1], distance = "euclidian")
nmsc <- scores(nmds, display = "sites")
ordiplot(nmds, type = "n")
points(nmsc[df$cond == "A", ], col = "red", pch = 16)
points(nmsc[df$cond == "B", ], col = "blue", pch = 16)
# use adonis to test if there is a difference between the conditions
adonis(df[ ,-1] ~ df[ ,1], method = "euclidean")
## There is a statistically significant difference between the two conditions
Teste de permutação
Para testar a hipótese nula diretamente, use um teste de permutação.
Deixe o primeiro PC na condição explicar da variação, e o primeiro PC na condição explique da variação. Sua hipótese é que , para que possamos definir como a estatística de interesse, e a hipótese é que . A hipótese nula a ser rejeitada é que .A a<100% B b<100% b>a c=b−a c>0 c=0
Para realizar o teste de permutação, tomar o seu amostras a partir de ambas as condições, e aleatoriamente dividi-las em condições e . Como a divisão é aleatória, não deve haver diferença na variação explicada depois disso. Para cada permutação, você pode calcular , repetir esse processo várias vezes (digamos, ) e obter a distribuição de sob a hipótese nula de . Comparar seu valor empírico de com essa distribuição produzirá um valor- .N=200+200 A B c 10000 c ctrue=0 c p
Bootstrapping
Para obter o intervalo de confiança em , use a inicialização.c
Na abordagem bootstrapping, você deve selecionar aleatoriamente amostras com reposição a partir das amostras existentes em e outro da . Calcule e repita-o várias vezes (digamos, ) novamente . Você obterá uma distribuição de inicialização dos valores de , e seus intervalos de percentis corresponderão aos intervalos de confiança do valor empírico . Portanto, você pode estimar o valor observando qual parte dessa distribuição está acima de .N=200 A N=200 B c 10000 c c p 0
O teste de permutação é uma maneira mais direta (e provavelmente menos dependente de quaisquer suposições) de testar a hipótese nula, mas o bootstrap tem um benefício adicional de gerar um intervalo de confiança em .c
fonte
Este é apenas um esboço da ideia. A proporção de variação é definida como
onde são os autovalores da matriz de covariância. Agora, se usarmos os autovalores da matriz de correlação, então , pois a soma dos autovalores de uma matriz é igual ao traço da matriz e, para matrizes de correlação, o traço é a soma de uns .λi λ1+...+λ6=6
Portanto, se usarmos as matrizes de correlação, precisamos testar hipóteses sobre a diferença de dois valores próprios máximos das matrizes de correlação da amostra. Certamente é possível encontrar na literatura a distribuição assintótica do valor eigen máximo da matriz de correlação. Portanto, o problema se reduz a algum tipo de teste t emparelhado ou não emparelhado.
fonte