2013-02-13 7 views
6

Das könnte eine sehr einfache Frage sein, aber ich kann es wirklich nicht finden. Wie kann ich eine zufällige Ganzzahl zwischen 1 und N in Rcpp abtasten? Ich weiß, dass ich eine einheitliche Nummer abtasten und runden kann oder die sample-Funktion in den C++ - Code einfügen kann, aber beide scheinen nicht die richtige Vorgehensweise zu sein.Beispiel einer zufälligen ganzen Zahl in Rcpp

+0

Ich denke, es ist eine akzeptable Möglichkeit, gleichmäßig und rund dann zu probieren (solange die Wahrscheinlichkeiten für 1 und N sind die gleichen wie für alle anderen Werte dazwischen) –

+0

http://dirk.eddelbuettel.com/blog/ 2012/09/02 / – Andrie

Antwort

6
  1. AFIACR wir haben keine "anständige" (dh vektorisiert) sample() Funktion in RCPP-Land, aber Christian Gunning arbeitet man auf, basierend auf Armadillo über RcppArmadillo.

  2. Sie können natürlich von U (0,1) abtasten, auf N und auf den Rest skalieren. Wir haben R::runif() für den Skalarfall und runif() in Zucker, der vektorisiert ist.

Edit: Ab 2017 beide RcppArmadillo und RCPP jetzt eine sample() Funktion.

Verwandte Themen