slam包或矩阵包中是否有内建函数将简单三重矩阵形式的稀疏矩阵(从slam包)转换为dgTMatrix/from矩阵形式(从矩阵包)中的稀疏矩阵?
是否有一种内建的方式来访问来自简单三重子矩阵的非零项?
我在R公司工作
发布于 2013-11-16 00:43:31
实际上,有一种内置的方式:
simple_triplet_matrix_sparse <- sparseMatrix(i=simple_triplet_matrix_sparse$i, j=simple_triplet_matrix_sparse$j, x=simple_triplet_matrix_sparse$v,
dims=c(simple_triplet_matrix_sparse$nrow, simple_triplet_matrix_sparse$ncol))根据我自己的经验,这个技巧为我节省了大量的时间和痛苦,以及使用tm包进行大规模文本挖掘的计算机崩溃。这个问题不需要一个可重复的例子。一个简单的三重态矩阵无论包含什么数据,都是一个简单的三重态矩阵。这个问题仅仅是问在这两个包中是否有一个内置函数来支持两者之间的转换。
发布于 2014-03-26 18:41:41
稍作修改。sparseMatrix以整数作为输入,而slam以i、j作为因子,v可以是任何东西。
as.sparseMatrix <- function(simple_triplet_matrix_sparse) {
sparseMatrix(
i = simple_triplet_matrix_sparse$i,
j = simple_triplet_matrix_sparse$j,
x = simple_triplet_matrix_sparse$v,
dims = c(
simple_triplet_matrix_sparse$nrow,
simple_triplet_matrix_sparse$ncol
),
dimnames = dimnames(simple_triplet_matrix_sparse)
)
}https://stackoverflow.com/questions/20004493
复制相似问题