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