简体   繁体   中英

Sample a random integer in Rcpp

This might be a very easy question, but I can't really find it. How can I sample a random integer between 1 and N in Rcpp? I know I can sample a uniform number and round it, or include the sample function to use in the C++ code, but both don't seem like the correct way of doing this.

  1. AFIACR we do not have a "decent" (ie vectorised) sample() function in Rcpp-land, but Christian Gunning is working on one based on Armadillo via RcppArmadillo.

  2. You can of course sample from U(0,1), scale to N and to the rest. We have R::runif() for the scalar case and runif() in sugar which is vectorised.

Edit: As of 2017, both RcppArmadillo and Rcpp now have a sample() function.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM