[R] Generating unordered, with replacement, samples

Duncan Murdoch murdoch.duncan at gmail.com
Wed Sep 17 21:45:11 CEST 2014


On 17/09/2014 3:07 PM, Duncan Murdoch wrote:
> On 17/09/2014 2:25 PM, Giovanni Petris wrote:
> > Hello,
> >
> > I am trying to interface in my teaching some elementary probability with Monte Carlo ideas. In sampling from a finite population, the number of distinct samples of size 'k' from a population of size 'n' , when individuals are selected with replacement and the selection order does not matter, is choose(n + k -1, k). Does anyone have a suggestion about how to simulate (uniformly!) one of these possible samples? In a Monte Carlo framework I would like to do it repeatedly, so efficiency is of some relevance.
> >
> > Thank you in advance!
>
> I forget the details of the derivation of that count, but the number
> suggests it is found by selecting k things without replacement from
> n+k-1.  The sample() function in R can easily give you a sample of k
> integers from 1:(n+k-1); "all" you need to do is map those numbers into
> your original sample of k from n.  For that you need to remember the
> derivation of that formula!

The derivation is on this web page: 
http://mathworld.wolfram.com/Multichoose.html .

Duncan Murdoch



More information about the R-help mailing list