Rcpp在C ++中使用稀疏矩阵

时间:2015-09-15 18:30:58

标签: r inline rcpp

从RCCP开始不知所措。我如何能够使用(索引,读取和赋值)代码中定义的稀疏矩阵,就像我使用'标准'一样。基质

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 个答案:

答案 0 :(得分:1)

你最好的选择可能是

  • 有关Rcpp Gallery
  • 的稀疏矩阵的帖子
  • rcpp-devel邮件列表。