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