我遇到了与我合作的几个矩阵的扩展问题。这是我的矩阵的一个例子:
my_matrix = matrix(data = c(1,2,3,4,5,6,7,8,25), nrow = 3)
我目前在0到1之间缩放的方法是使用公式(value - min)/(max - min)。在整个矩阵上使用它可得到以下结果:
mn = min(my_matrix); mx = max(my_matrix);
(my_matrix - mn) / (mx - mn)
[,1] [,2] [,3]
[1,] 0.00000000 0.1250000 0.2500000
[2,] 0.04166667 0.1666667 0.2916667
[3,] 0.08333333 0.2083333 1.0000000
我理解计算,以及为什么我收到这个矩阵。但是,我更倾向于根据百分位数将0缩放为1,而是接收此矩阵:
[,1] [,2] [,3]
[1,] 0.11111111 0.4444444 0.7777778
[2,] 0.22222222 0.5555556 0.8888889
[3,] 0.33333333 0.6666667 1.0000000
有人知道一个简单的方法吗?谢谢!