如何从R中的随机数生成器指定奇数和偶数的数量?

时间:2018-07-27 11:31:57

标签: r random

我需要在以下条件下生成从1到40的9个整数的random选择:输出必须包含5个even数字和4个odd数字。

我有以下代码来生成9个随机数:

x1<- sample(1:40, 9, replace=F)
> x1
  [1]  2 36  6 10 39 17 14 11 25

我现在需要在方程式中加上奇数和偶数条件。我该怎么办?

2 个答案:

答案 0 :(得分:3)

假设数字的顺序无关紧要,您可以尝试

c(sample(seq(2,40,by=2), 5, replace=F), sample(seq(1,39,by=2), 4, replace=F))

其中seq(2,40,by=2)生成偶数,seq(1,39,by=2)生成奇数。如果顺序确实很重要(也应该是随机的),则可以将外部csample包装:

sample(c(sample(seq(2,40,by=2), 5, replace=F),sample(seq(1,39,by=2), 4, replace=F)))

希望这会有所帮助!

答案 1 :(得分:2)

您可以尝试以下方法:

sample(c(2*sample(0:19, 4) + 1, 2*sample(1:20, 5)))