使用RcppArmadillo确定稀疏矩阵中每一行的第一个最小值的位置

时间:2019-07-02 02:42:09

标签: r rcpp rcpparmadillo

我正在使用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稀疏矩阵,其中包含指向索引的整数值。

0 个答案:

没有答案