0

上と下の三角形が鏡像化された 45 行 45 列の中空行列の形式でペアごとの距離を扱っています。すべての値が 0 から 1 の間にあるように、行列全体を範囲標準化する必要があります。試してみましたdecostand(mat, method="range")が、列が互いに独立していないため、正しい値が返されません。上の三角形は、下の三角形を反映していません。これは、データのセンタリングまたはスケーリングに関するある種の問題だと思いますか?

操作するサンプル コードを次に示します。

x<-c(0,5,4,7,8,
  5,0,8,2,1,
  4,8,0,3,2,
  7,2,3,0,4,
  8,1,2,4,0)

mat<-matrix(x,nrow=5,ncol=5,byrow=TRUE)

mat2<-decostand(mat,method="range")

そして、標準化されたらマトリックスをどのように見せたいかの例..

  V1   V2   V3   V4   V5
1 0    0.6  0.5  0.9  1
2 0.6  0    1    0.3  0.1
3 0.5  1    0    0.4  0.3
4 0.9  0.3  0.4  0    0.5
5 1    0.1  0.3  0.5  0

データをベクトルに変換して標準化してから行列に戻さずにそれを行う方法はありますか? IDが非常に重要であるため、列ごとにデータが混同される可能性が少なくなるため、最大90 x 90のディメンションを持つマトリックスがいくつかあることを考えると、1つのステップで実行したいと思います。

ありがとう!

4

0 に答える 0