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

Ross Ihaka ihaka at stat.auckland.ac.nz
Fri Nov 17 02:51:04 CET 2000


On Thu, Nov 16, 2000 at 08:01:23PM -0500, Aleksey Naumov wrote:
> 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?

> sample(1:101, 10, replace=FALSE)
 [1] 77 56 84  6  2 50 63 99 35 11

	Ross
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
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