Dear Rcpp users and developers,
I understand how to extract a single column or row from an
RcppArmadillo matrix, but I am still unsure how to extract columns or
rows based on a vector of indices. I wrote a rather awkward (and dumb)
way to extract, and here are some reproducible codes:
###############################
library(Rcpp)
library(RcppArmadillo)
library(inline)
src <-
' arma::mat x = arma::randu(5, 5);
arma::mat y = x;
arma::uvec indice;
indice << 0 << 3;
int nRm = indice.n_elem;
for(int j = 0; j < nRm; j++)
y.shed_col( indice(j) - j );
return List::create(Named("x")=x, Named("y")=y, Named("ind")=indice);'
colX <- cxxfunction(body=src,plugin="RcppArmadillo")
colX()
###############################
Although this code works, I am wondering if there are other more
clever ways of approaching this, especially a way to avoid any 'for'
loops.
Thank you for your help!
Andy Leung
_______________________________________________
Rcpp-devel mailing list
[email protected]
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel