Hi Kevin, On 12 January 2013 at 11:10, Kevin Ushey wrote: | I'm wondering -- what operations are available for subsetting of Vectors in | Rcpp? I've scoured through all the vignettes but it seems like a couple | 'nice-to-haves' aren't there yet. My questions: | | * is there a difference between subsetting a vector with () vs []?
For vectors, both work. We sometimes wondered if one should test or not. I think they both have the same speed. It may be better to use () because ... For matrices, [] does not work (C interview question: what is [3,4] returning ?) so it may be better to get used to (i,j) anyway. | * is it possible to subset based on a collection of indices, eg: | | NumericVector X(10); | NumericVector Y = X[ c(1, 2, 5) ] Nope. "Not yet." May take a long time. This came up before on StackOverflow where I once answered by pointing to an RcppArmadillo solution as Armadillo _can_ do this. I recently came up with a cleverish way to approximate this using the STL, and wrote piece a for the Rcpp Gallery on it, so see http://gallery.rcpp.org/articles/stl-transform-for-subsetting/ | * is it possible to slice a vector, eg. such that we either hold a reference | to, or copy out, the elements at every 'x' indices? I know 'seq' is available | for consecutive indices, but might there be a third 'by' argument coming, or an | alternative function, soon? Nope. As we wrap around SEXPs which are contiguous vectors, I don't really see how we can do this. Hope this helps! Dirk -- Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com _______________________________________________ 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