尝试在R中使用adonis执行PERMANOVA。但是,在我的数据表和因子中添加,我不断得到样本错误 - G * t中的错误(帽子):不一致的数组
没有N / A数据,它可以使用现成的数据矩阵和我自己的数据表的子集。
不起作用的示例数据;
subset<-matrix(c(0,0.000666667,0.001333333,0.000333333,0.000333333,0.019833333,0.007666667,0.014666667,0.0005,0.022833333,0.016833333,0.018166667,0.000666667,0.009666667,0.008833333,0.009166667,0.001333333,0.018666667,0.0295,0.031833333),ncol=4)
test_groups<-c(1,1,2,2)
adonis(subset~test_groups)
G * t(帽子)中的错误:不一致的数组
测试可行的数据;
test<-matrix(data=c(0.1,0.1,0.3,0.1,0.2,0.3,0.1,0,0.3,0.1,0.2,0.3,0.1,0.2,0.3,0.1),ncol=4)
为什么不起作用?
答案 0 :(得分:1)
test_groups
向量的长度为4,而subset
的行数为5
下面我设置为5 subset
的行数和adonis
命令很好地工作。
library(vegan)
subset <- matrix(c(0,0.000666667,0.001333333,0.000333333,0.000333333,0.019833333,0.007666667,0.014666667,0.0005,0.022833333,0.016833333,0.018166667,0.000666667,0.009666667,0.008833333,0.009166667,0.001333333,0.018666667,0.0295,0.031833333),ncol=5)
test_groups <- c(1,1,2,2)
adonis(subset~test_groups)
结果如下。
'nperm' >= set of all permutations: complete enumeration.
Set of permutations < 'minperm'. Generating entire set.
Call:
adonis(formula = subset ~ test_groups)
Permutation: free
Number of permutations: 23
Terms added sequentially (first to last)
Df SumsOfSqs MeanSqs F.Model R2 Pr(>F)
test_groups 1 0.22804 0.22804 1.0592 0.34624 0.3333
Residuals 2 0.43059 0.21530 0.65376
Total 3 0.65864 1.00000