1

我有一个大的稀疏矩阵要在 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 . . . . . . . .

我期望的是新向量不会实现零。我怎样才能做到这一点?

谢谢

4

1 回答 1

4

您可以使用drop = FALSE

A[1, , drop = FALSE]
# 1 x 10 sparse Matrix of class "dgCMatrix"
#                        
# [1,] . 7 . . . . . . . .
于 2014-06-06T11:27:50.337 回答