2013-02-13 21 views
6

這可能是一個非常簡單的問題,但我無法真正找到它。如何在Rcpp中抽取1到N之間的隨機整數?我知道我可以對統一數字進行採樣並舍入,或者包含用於C++代碼的sample函數,但兩者似乎都不是這樣做的正確方法。在Rcpp中抽取一個隨機整數

+0

我認爲這是一個可接受的方式來統一和圓整樣本然後(只要1和N的概率與其他所有值之間的相同) – 2013-02-13 12:42:59

+0

http://dirk.eddelbuettel.com/blog/ 2012/09/02 / – Andrie 2013-02-13 13:58:19

回答

6
  1. AFIACR我們沒有一個「體面的」(即向量化)sample()在RCPP土地功能,但基督教甘寧正在一個通過RcppArmadillo基於犰狳。

  2. 你當然可以從U(0,1)中抽樣,縮放到N和其餘的。我們有R::runif()用於標量的情況,runif()用於糖的矢量化。

編輯:截至2017年,這兩個RcppArmadillo和RCPP現在有一個sample()功能。