3

vegan パッケージの関数を使用して、betadisper()多変量分散を生成し、それらのデータを PCoA にプロットしました。この例では、単一の種の性別の違いを調べます。

元データを読み込みます。私たちの目的では、これはここで合法的に何でもかまいません。私が使用しているデータは特別なものではありません。その機能測定値は、生物音響データセットからのものです。私は自分のプロセスを歩いています:

my_original_data = read.csv("mydata.csv", as.is = T, check.names = F)
#Just extract the numeric/quantitative data.
myData=my_original_data[, 13:107]

以前の調査に基づいて、教師なしの randomForest を使用して、元の特徴測定値内の類似性を判断しました。

require(randomForest)
full_urf = randomForest(myData, proximity=T, scale=TRUE, ntree=4999,importance = TRUE)

次に、近接行列を使用してインデックスが生成されました。

urf_dist_full = as.dist(1-full_urf$proximity)

vegan パッケージを使用して、結果のインデックスに対して順列 MANOVA が実行されました。pMANOVA の使用は十分に研究されており、私の目的にとって正しいテストです。

mod=adonis(formula = urf_dist_full ~ Sex * Age * Variant, data = my_original_data, permutations = 999, method = "euclidean") 

my_original_data には、性別、年齢、バリアントという定性的な要因がありました。それらを抽出することもできましたが、元のデータセット内に保持する方がきれいに見えました。

いくつかの均一性テストを実行した後、多変量分散をプロットしたいと思います。これを行うために、私は betadisper 関数を使用しています:

Sex=betadisper(urf_dist_full,my_original_data$Sex)
plot(Sex, main="Sex Multivariate Dispersions")

それはこの美しさをプロットします:

性の多変量分散

重心に男性と女性のラベルを付けるにはどうすればよいですか? バリアント カテゴリについてもこのプロットを実行したいのですが、これには 2 つではなく 5 つの要因があるため、実際にラベル付けする必要があります。

これの変種を見たことがboxplot()ありますが、PCoA がクラスタリングを示す方法も気に入っています。

4

2 に答える 2

3

次のように重心にラベルを追加できます。

ordilabel(scores(Sex, "centroids"))

Sexあなたの結果はどこにありますかbetadisper。重心の元の名前を使用したくない場合は、次のように名前を変更できます。

ordilabel(scores(Sex, "centroids"), labels=c("A","B"))
于 2015-11-13T08:24:08.370 に答える