0

非類似度行列で betadisper を実行しようとすると、タイトルのようにエラーが発生します。私の環境を見ると、明らかに「dist」と表示されています。

as.dist() は役に立たない

#fhf is a phyloseq object

veganotu = function(physeq) {
    require("vegan")
    OTU = otu_table(physeq)
    if (taxa_are_rows(OTU)) {
        OTU = t(OTU)
    }
    return(as(OTU, "matrix"))
}

Group <- sample_names(fhf)
dissimilarity_matrix <- vegdist(veganotu(fhf), method="bray")
homogen <- betadisper(dissimilarity_matrix ~ Group)
anova(homogen)

これに似た結果が期待されますが、他の値があります。

分散分析表

応答: 距離 Df Sum Sq Mean Sq F 値 Pr(>F) グループ 5 0.021037 0.0042074 1.5524 0.252 残差 11 0.029813 0.0027103

エラーメッセージ:

betadisper(dissimilarity_matrix ~ Group) のエラー: 距離 'd' は 'dist' オブジェクトでなければなりません

4

1 に答える 1