将行总和的矩阵条目标准化为等于1

时间:2018-10-08 18:17:11

标签: sparse-matrix normalization

我正在努力将矩阵的行标准化为等于1。我要标准化的矩阵实际上是6012X6012稀疏矩阵,但是我希望为较小的矩阵编写代码

T = matrix(c(1, 2, 3, 2, 1, 4, 3, 4, 5), nrow = 3, ncol = 3)

我可以进行for循环,但是使用大型矩阵将花费很长时间,因此我正在寻找其他方法。我尝试使用apply,但是由于某种原因,它使列而不是行标准化,无论我提供的是“ 1”还是“ 2”:

test = apply(T, 1, function(x) x/sum(x))

这是上面功能的输出:

                   [,1]               [,2]               [,3]
[1,] 0.1666666666666667 0.2857142857142857 0.2500000000000000
[2,] 0.3333333333333333 0.1428571428571428 0.3333333333333333
[3,] 0.5000000000000000 0.5714285714285714 0.4166666666666667

预先感谢您的帮助。

0 个答案:

没有答案