Dear group, I want to generate a vector of 10 elements that always has 20% zeroes, but with a random ordering of zeroes and ones. Can you please suggest a function to do that in R? I tried 'sample' function but the 20% zeros was not always guaranteed. Thanks for your help. Regards, Ayyappa [[alternative HTML version deleted]]
On Mon, Apr 22, 2013 at 7:21 PM, Ayyappa <ayyappach at gmail.com> wrote:> Dear group, > > I want to generate a vector of 10 elements that always has 20% zeroes, but with a random ordering of zeroes and ones. Can you please suggest a function to do that in R? I tried 'sample' function but the 20% zeros was not always guaranteed.v <- numeric(10) # Make a vector of 10 elements v[sample(10, 2)] <- 1 # Set two random elements to one Best, Michael
On Apr 22, 2013, at 6:21 PM, Ayyappa <ayyappach at gmail.com> wrote:> Dear group, > > I want to generate a vector of 10 elements that always has 20% zeroes, but with a random ordering of zeroes and ones. Can you please suggest a function to do that in R? I tried 'sample' function but the 20% zeros was not always guaranteed. > > Thanks for your help. > > Regards, > AyyappaPredefine your source vector with the fixed distribution that you desire: Vec <- c(rep(0, 2), rep(1, 8))> Vec[1] 0 0 1 1 1 1 1 1 1 1 Then sample() from that vector: set.seed(1)> sample(Vec)[1] 1 1 1 1 0 1 1 1 1 0> sample(Vec)[1] 1 0 1 1 1 1 1 1 0 1> sample(Vec)[1] 1 0 1 0 1 1 1 1 1 1> sample(Vec)[1] 1 1 1 0 1 1 1 0 1 1 Regards, Marc Schwartz