我们可以使用sparseMatrixspMatrix根据非零元素的索引和值构造稀疏矩阵。是否有任何函数将稀疏矩阵转换回所有非零元素的索引和值?例如

i <- c(1,3,5); j <- c(1,3,4); x <- 1:3
A <- sparseMatrix(i, j, x = x)

B <- sparseToVector(A)
## test case:
identical(B,cbind(i,j,x))


有什么功能与sparseToVector相似?

最佳答案

summary(A)
# 5 x 4 sparse Matrix of class "dgCMatrix", with 3 entries
#   i j x
# 1 1 1 1
# 2 3 3 2
# 3 5 4 3


您可以轻松地将其传递给as.data.frameas.matrix



sparseToVector <- function(x)as.matrix(summary(x))
B <- sparseToVector(A)
## test case:
identical(B,cbind(i,j,x))
# [1] TRUE

10-06 14:47