Tôi đã nhận được câu trả lời của bạn phải không? - Bạn muốn kiểm tra xem có sự khác biệt có ý nghĩa thống kê giữa hai điều kiện không?
Perhabs vegan :: adonis () là cái gì cho bạn? Don Tiếtt biết nếu đó là những gì bạn đang tìm kiếm.
Nó hoạt động trên ma trận khoảng cách và so sánh khoảng cách trong một điều kiện lớn hơn giữa các điều kiện. Ví dụ, trong một NMDS, bạn sẽ thấy sự tách biệt rõ ràng của hai điều kiện.
Dưới đây là một số ví dụ Mã:
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