【问题标题】:Error in G * t(hat) : non-conformable arraysG * t(hat) 中的错误:不一致的数组
【发布时间】:2017-09-29 21:13:29
【问题描述】:

尝试在 R 中使用 adonis 执行 PERMANOVA。添加到我的数据表和因子中,但是,我不断收到示例错误 - G * t(hat) 中的错误:不合格数组

没有 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(hat) 中的错误:不一致的数组

有效的测试数据;

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)

为什么它不起作用?

【问题讨论】:

    标签: r vegan adonis.js


    【解决方案1】:

    test_groups 向量的长度为 4,而subset 的行数为 5。
    下面我将subset 的行数设置为5,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
    

    【讨论】:

    • 非常感谢,只需要交换行和列!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多