在Rcpp中采样随机整数

Sac*_*amp 8 r rcpp

这可能是一个非常简单的问题,但我无法真正找到它.如何在Rcpp中采样1到N之间的随机整数?我知道我可以对一个统一的数字进行采样并对其进行舍入,或者包含sample在C++代码中使用的函数,但两者似乎都不是正确的方法.

Dir*_*tel 7

  1. AFIACR我们sample()在Rcpp-land中没有"体面"(即矢量化)功能,但Christian Gunning正在通过RcppArmadillo开发基于Armadillo的功能.

  2. 您当然可以从U(0,1)中抽样,缩放到N,然后到其余部分.我们有R::runif()标量情况和runif()糖,它是矢量化的.

编辑:截至2017年,RcppArmadillo和Rcpp现在都有sample()功能.