NumericMatrix 的 Rcpp 糖

标签 r rcpp

对于NumericVector ,我可以将一个较小的 NumericVector 进行子集化通过使用 IntegerVector包含要子集化的位置。

例如假设x<-c(1,2,2,3,4,5) , idx<-c(1,3,4) ,和xsub<-x[idx]这是 1 2 3

在 RCpp 中,我可以简单地使用 xsub=x[idx]

是否有类似的方法来对 NumericMatrix 的行进行子集化使用IntegerVector

例如下面的代码xmatsub=xmat(idx,_)不适合我。

最佳答案

没有办法。你必须手动完成,这并不复杂。

NumericMatrix res( idx.size(), m.rows() )  ;
for( int i=0; i<idx.size(); i++){
    res.row(i) = m.row(idx[i]-1) ; 
}

关于NumericMatrix 的 Rcpp 糖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24420445/

相关文章:

Rcpp 和 int64 NA 值

R,删除重复值和原始值

python - 向 pandas 数据框添加一个新列,并用 2 个值填充它,直到该列的末尾

r - 绘制不同类型的条形图ggplot

r - 无法在 R 中编译 RcppArmadillo

r - 使用 Rcpp Sugar 将均值和标准差传递给 dnorm()

r - 将列向量乘以 RcppArmadillo 中的数值标量

返回字符串中两个字符之间的值

删除 ggplot2 中的负绘图区域

java - C++ 或 Java 调用 R 脚本的 RCPP 或 RCaller 的基准测试?