我以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非常重要。
谢谢!