2015-09-15 2 views
0

Превосходно с RCCP. Как я могу использовать (индексировать, читать и присваивать значения) разреженную матрицу, определенную в коде так же, как я могу сделать со «стандартной» матрицей?Rcpp с использованием разреженной матрицы в C++

library('Matrix') 
library(Rcpp) 
library(inline) 

r <- matrix(seq(1,9,1),ncol=3,nrow=3) 
i <- Matrix(0, nrow = nrow(r) * ncol(r), ncol = nrow(r)*ncol(r), sparse=TRUE) 
fx <- cxxfunction(signature(x_ = "matrix" ,y_="dsCMatrix"), ' 
    NumericMatrix x(x_) ; 
    int nr = x.nrow(), nc = x.ncol() ; 
    for (int i = 0; i < nr; i++) { 
      for (int j = 1; j < nc; j++) { 
      x(i,j) = 1; 
     } 
    } 
    return wrap(x) ; 
', plugin = "Rcpp") 

fx(r,i) 

ответ

1

Лучше может быть

  • посты о разреженных матриц в то Rcpp Gallery и
  • rcpp-Devel список рассылки.
Смежные вопросы