首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中简单三重态矩阵(Slam)到稀疏矩阵(Slam)的转换

R中简单三重态矩阵(Slam)到稀疏矩阵(Slam)的转换
EN

Stack Overflow用户
提问于 2013-11-15 15:26:22
回答 2查看 4K关注 0票数 11

slam包或矩阵包中是否有内建函数将简单三重矩阵形式的稀疏矩阵(从slam包)转换为dgTMatrix/from矩阵形式(从矩阵包)中的稀疏矩阵?

是否有一种内建的方式来访问来自简单三重子矩阵的非零项?

我在R公司工作

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-16 00:43:31

实际上,有一种内置的方式:

代码语言:javascript
复制
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包进行大规模文本挖掘的计算机崩溃。这个问题不需要一个可重复的例子。一个简单的三重态矩阵无论包含什么数据,都是一个简单的三重态矩阵。这个问题仅仅是问在这两个包中是否有一个内置函数来支持两者之间的转换。

票数 23
EN

Stack Overflow用户

发布于 2014-03-26 18:41:41

稍作修改。sparseMatrix以整数作为输入,而slam以i、j作为因子,v可以是任何东西。

代码语言:javascript
复制
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)
  )

}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20004493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档