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 Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel