非類似度行列で 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' オブジェクトでなければなりません