Re: Random Sampling Without Replacement?
- To: mathgroup at smc.vnet.net
- Subject: [mg26605] Re: Random Sampling Without Replacement?
- From: jorma.virtamo at hut.fi
- Date: Thu, 11 Jan 2001 10:39:15 -0500 (EST)
- Organization: Helsinki University of Technology
- References: <93edpc$cn@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Here is one way, though not very compact:
rnd[n_] := Module[{k1,k2,k3},
k1=Random[Integer,{1,n}];
k2=Random[Integer,{1,n-1}]; If[k2>=k1,k2++];
k3=Random[Integer,{1,n-2}]; If[k3>=Min[k1,k2], k3++; If[k3>=Max[k1,k2],
k3++]];
{k1,k2,k3}]
For instance:
Table[rnd[5],{10}]
{{1, 4, 3}, {1, 2, 5}, {4, 2, 5}, {1, 4, 2}, {4, 2, 1}, {3, 5, 4}, {5, 4,
3}, {1, 3, 5},
{1, 4, 5}, {3, 4, 5}}
Jorma Virtamo
"A. E. Siegman" wrote:
> Looking for neat compact way to extract three distinct (i.e., nonequal)
> randomly selected integers k1, k2, k3 from the range 1 to N (N > 3) --
> in other words, random sampling without replacement -- ???