我正在使用R中Matrix包中的“ dgcMatrix”类的稀疏矩阵。使用RcppArmadillo,我设计了这个最小值函数,以确定稀疏矩阵中每一行的第一个最小值。
library(Rcpp)
library(Matrix)
i <- c(1,3:8)
j <- c(2,9,6:10)
x <- 7 * (1:7)
sparse_mat <- sparseMatrix(i, j, x = x)
rowwise_min <- Rcpp::cppFunction(
"arma::sp_mat sp_row_max(arma::sp_mat X) {
return arma::max(X, 1);
}", depends= "RcppArmadillo"
)
rowwise_min(sparse_mat) # returns a Nx1 sparse matrix
我想以此功能为基础,为稀疏矩阵中的每一行找到第一个最小值的位置。输出可以是另一个Nx1稀疏矩阵,其中包含指向索引的整数值。