首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用sapply填充稀疏矩阵

用sapply填充稀疏矩阵
EN

Stack Overflow用户
提问于 2016-04-01 00:40:38
回答 1查看 704关注 0票数 1

假设X是一个大型稀疏矩阵,其中每一行只有一个与零不同的条目。我有一个向量pos,它包含这个非零元素所在的列的位置。要填充矩阵,下面的循环工作:

代码语言:javascript
复制
for (row in 1:nrow(X)) {
    X[row, pos[row]] <- 1
}

有没有一种不需要循环的方法,也许可以使用sapply

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-01 00:56:01

您可以看看矩阵中的sparseMatrix函数:

代码语言:javascript
复制
> library(Matrix)
> (pos = sample(1:7))
[1] 5 1 6 4 7 2 3
> sparseMatrix(1:7, pos)
7 x 7 sparse Matrix of class "ngCMatrix"

[1,] . . . . | . .
[2,] | . . . . . .
[3,] . . . . . | .
[4,] . . . | . . .
[5,] . . . . . . |
[6,] . | . . . . .
[7,] . . | . . . .

package的函数需要一些使用,但是当使用稀疏矩阵时,它们提供了大量的好处。

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

https://stackoverflow.com/questions/36346174

复制
相关文章

相似问题

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