这可能是一个非常简单的问题,但我确实找不到答案。如何在Rcpp中随机采样1到N之间的整数?我知道我可以采样一个均匀分布的数字并四舍五入,或者在C++代码中包含sample函数,但这些方法似乎都不是正确的做法。
据我所知,Rcpp领域中并没有一个“体面的”(即矢量化的)sample()函数,但是Christian Gunning正在开发一个基于Armadillo和RcppArmadillo的函数。 当然,你可以从U(0,1)中进行采样,将其缩放到N并进行其他操作。我们在标量情况下使用R::runif(),糖中使用矢量化的runif()函数。 编辑:截至2017年,RcppArmadillo和Rcpp都有一个sample()函数。