我需要在以下条件下生成从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
我现在需要在方程式中加上奇数和偶数条件。我该怎么办?
答案 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)
生成奇数。如果顺序确实很重要(也应该是随机的),则可以将外部c
用sample
包装:
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)))