【发布时间】:2018-07-27 19:47:48
【问题描述】:
我需要生成一个从 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
我现在需要在方程式中添加奇数和偶数条件。我该怎么做?
【问题讨论】:
我需要生成一个从 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
我现在需要在方程式中添加奇数和偶数条件。我该怎么做?
【问题讨论】:
假设数字的顺序无关紧要,你可以试试
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) 生成奇数。如果顺序确实很重要(即它也应该是随机的),您可以用sample 包裹外部c:
sample(c(sample(seq(2,40,by=2), 5, replace=F),sample(seq(1,39,by=2), 4, replace=F)))
希望这会有所帮助!
【讨论】:
c而不是包装它。
你可以试试这个:
sample(c(2*sample(0:19, 4) + 1, 2*sample(1:20, 5)))
【讨论】: