从在r中的稀疏矩阵中提取的行稀疏(extract sparse rows from sparse m

2019-10-20 06:10发布

我有一个大的稀疏矩阵R中来分析。例如:

i <- c(1,3:8); j <- c(2,9,6:10); x <- 7 * (1:7)
(A <- sparseMatrix(i, j, x = x))
[1,] . 7 . . .  .  .  .  .  .
[2,] . . . . .  .  .  .  .  .
[3,] . . . . .  .  .  . 14  .
[4,] . . . . . 21  .  .  .  .
[5,] . . . . .  . 28  .  .  .
[6,] . . . . .  .  . 35  .  .
[7,] . . . . .  .  .  . 42  .
[8,] . . . . .  .  .  .  . 49

我想从这个矩阵中提取第i行作为稀疏向量。 如果我写

(x=A[1,])

我获得

 [1] 0 7 0 0 0 0 0 0 0 0

但我想是

 [1] . 7 . . . . . . . .

我想到的是,新的载体不兑现的零。 我怎样才能做到这一点?

谢谢

Answer 1:

您可以使用drop = FALSE

A[1, , drop = FALSE]
# 1 x 10 sparse Matrix of class "dgCMatrix"
#                        
# [1,] . 7 . . . . . . . .


文章来源: extract sparse rows from sparse matrix in r