Определите местоположение первого минимального значения для каждой строки в разреженной матрице, используя RcppArmadillo - PullRequest
0 голосов
/ 02 июля 2019

Я работаю с разреженными матрицами класса "dgcMatrix" из пакета Matrix в R. Используя 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, содержащая целочисленные значения, указывающие на индекс.

...