[R] Randomly selecting n (unique) elements out of vector of length m...

Aleksey Naumov naumov at acsu.buffalo.edu
Fri Nov 17 02:01:23 CET 2000

Dear R users,

I wonder if there is a simple way to select a random and non-overlapping
subset of a vector?
Say, I need to randomly select 10 out of 100 numbers in a vector V. By
"non-overlapping" I
mean that a number in any position in V (V[1]...V[100]) should be
selected at most once
(i.e. selection without recycling).

I could simplu use a uniform distribution to generate selection indices:

> floor( runif(10, min=1, max=101) )
 [1] 17 34 16 91 43  2 22 75 59 38

but there is no guarantee that elements will be unique, so I'll have to
check and add some if
needed (and probably do it a few times)...

Is there a simper way?


r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch

More information about the R-help mailing list