data("butterfly") セットの使用に問題があります。問題は:
問題 4: パッケージ「ade4」に続いて data(butterfly) をインストールします。私たちの質問は次のとおりです。「遺伝的類似性は、蝶のコロニー間の地理的距離と相関していますか?」d1 と呼ばれる距離尺度を使用して、遺伝的距離行列を入力します。マントルピースランダム化テストを実行し、結果を解釈します。距離 d2 の尺度を使用してテストを繰り返します。違いはありましたか?Mantel Randomization テストの散布図とランダム化プロットだけでなく、回答の一部として for ループ コードを表示します。
これは、非類似度を計算するために使用される関数です。方法がわかりません
dissimilarity <- function(p1, p2){
d1 <- sum( abs(p1 - p2) / 2 )
d2_num <- sum(p1*p2)
d2_denom <- sqrt( sum(p1^2) * sum(p2^2) )
d2 <- 1 - d2_num / d2_denom
return(list(d1=d1, d2=d2))
}
これは、遺伝的距離行列を設定するために使用したコードです。
library(ade4)
data("butterfly")
butterflydat<-data.frame(butterfly)
plot(butterfly$contour[,1:2], pch=16, cex=.4)
polygon(butterfly$contour[,1:2], lty=2)
points(butterfly$xy, pch=7)
nrow(butterfly$xy)
text(butterfly$xy, labels=1:16, pos=2, cex=.8)
apply(butterfly$genet,1,sum)
(Ddist <- dist(butterfly$xy))
2 つの地理的距離の相違点を計算できます (例):
dissimilarity(butterfly$genet[1,],butterfly$genet[2,])$d2
しかし、for ループを適用してすべての地理的距離の行列を埋める方法がわかりません。Mantel Randomization テストもわかりません。問題は、各行列に対して Mantel Randomization テストを実行することを意味していますが、このテストでは 2 つの行列 (つまり、d1 と d2) 間の相関関係を比較していませんか?
私は統計とRが初めてです。