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

有没有办法在不将我的数据转换为向量以对其进行标准化然后返回矩阵的情况下做到这一点?考虑到我有一些尺寸最大为 90 x 90 的矩阵,我宁愿一步完成,因为这样我的数据被列混淆的可能性较小,因为 ID 非常重要。

谢谢!

4

0 回答 0