gpt4 book ai didi

R 封装矩阵 : get number of non-zero entries per rows/columns of a sparse matrix

转载 作者:行者123 更新时间:2023-12-01 11:15:47 25 4
gpt4 key购买 nike

我有一个大的稀疏矩阵(“dgCMatrix”,维度 5e+5 x 1e+6)。我需要为每列计算有多少非零值,并制作一个只有 1 个非零条目的列名列表。

我的代码适用于小矩阵,但对于我需要处理的实际矩阵来说计算量太大。

library(Matrix)
set.seed(0)
mat <- Matrix(matrix(rbinom(200, 1, 0.10), ncol = 20))
colnames(mat) <- letters[1:20]

entries <- colnames(mat[, nrow(mat) - colSums(mat == 0) == 1])

非常欢迎任何建议!

最佳答案

使用以下方法产生类似的结果:
请注意提供的评论:

## `mat != 0` returns a "lgCMatrix" which is sparse
## don't try `mat == 0` as that is dense, simply because there are too many zeros
entries <- colnames(mat)[colSums(mat != 0) == 1]

关于R 封装矩阵 : get number of non-zero entries per rows/columns of a sparse matrix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51560456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com