【问题标题】:Row standardize a Sparse Matrix行标准化稀疏矩阵
【发布时间】:2021-05-18 02:05:48
【问题描述】:

我有以下稀疏矩阵;-

library(Matrix)
 a <- sparseMatrix(i = c(1, 1, 2, 2, 3, 3, 3, 3, 4, 5, 5),
                   j = c(1, 2, 2, 3, 2, 3, 4, 5, 3, 1, 5), x = 1)

我想将行除以它们的行总和,这样这个矩阵就变成了下面的稀疏矩阵:-

b <- sparseMatrix(i = c(1, 1, 2, 2, 3, 3, 3, 3, 4, 5, 5),
                  j = c(1, 2, 2, 3, 2, 3, 4, 5, 3, 1, 5),
                  x = c(0.5, 0.5, 0.5, 0.5, 0.25, 0.25, 0.25, 0.25, 1, 0.5, 0.5))

如何行标准化 R 中的稀疏矩阵

【问题讨论】:

  • a/rowSums(a)..

标签: r matrix sparse-matrix


【解决方案1】:

您可以将a 除以行和。

b <- a/rowSums(a)
b
#5 x 5 sparse Matrix of class "dgCMatrix"
                            
#[1,] 0.5 0.50 .    .    .   
#[2,] .   0.50 0.50 .    .   
#[3,] .   0.25 0.25 0.25 0.25
#[4,] .   .    1.00 .    .   
#[5,] 0.5 .    .    .    0.50

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-23
    • 2012-08-31
    • 2012-01-10
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多