Home > Net >  How can I randomly sample binomial thing?
How can I randomly sample binomial thing?

Time:03-21

For example, I want to randomly line the 0, 1 (50% respectively) 10 times. So, there should be five "0" and five "1".

But, when I used:

rbinom(10,1,0.5)

sometimes, it generates four "0" and six "1".

I noticed that the sample() function has also this issue.

There should be five "0" and five "1", and the order should be at random.

CodePudding user response:

sample will shuffle a vector randomly. So sample(rep(c(0,1),5)) is what you need.

CodePudding user response:

You need to use sample(), but this way:

b <- c(rep(0, 5), rep(1, 5))
sample(b)
#  [1] 1 0 1 1 0 0 1 0 0 1
sample(b)
#  [1] 0 1 1 1 0 1 0 0 0 1
sample(b)
#  [1] 0 0 0 1 1 1 0 1 0 1
sample(b)
#  [1] 0 1 0 0 1 0 1 1 0 1

CodePudding user response:

We can use bitwAnd sample

bitwAnd(sample(10), 1)

CodePudding user response:

A shortcut would be:

sample(10) %/% 6
#> [1] 0 0 0 1 1 0 0 1 1 1
  • Related