如何在R中指定随机生成器中奇数和偶数的数目?
我需要生成一个从1到40的9个整数的随机选择,条件如下:输出必须包含5个偶数和4个奇数 我有以下代码来生成9个随机数:如何在R中指定随机生成器中奇数和偶数的数目?,r,random,R,Random,我需要生成一个从1到40的9个整数的随机选择,条件如下:输出必须包含5个偶数和4个奇数 我有以下代码来生成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, rep
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))
其中,seq2,40,by=2生成偶数,seq1,39,by=2生成奇数。如果顺序很重要,也就是说,它应该是随机的,那么您可以用样本包装外部c:
希望这有帮助 假设数字的顺序无关紧要,您可以尝试
c(sample(seq(2,40,by=2), 5, replace=F), sample(seq(1,39,by=2), 4, replace=F))
其中,seq2,40,by=2生成偶数,seq1,39,by=2生成奇数。如果顺序很重要,也就是说,它应该是随机的,那么您可以用样本包装外部c:
希望这有帮助 您可以尝试以下方法:
sample(c(2*sample(0:19, 4) + 1, 2*sample(1:20, 5)))
你可以试试这个:
sample(c(2*sample(0:19, 4) + 1, 2*sample(1:20, 5)))
在运行与顺序有关的代码时,我收到以下错误消息:sample.intlengthx中的错误,size,replace,prob:当'replace=FALSE'@user3115933 oops时,无法获取大于总体的样本,我的错误!修正了它;我替换了c,而不是包装它。在运行与顺序有关的代码时,我收到以下错误消息:sample.intlengthx,size,replace,prob中出错:当'replace=FALSE'@user3115933 oops时,无法获取大于总体的样本,我的错误!修正了它;我替换了c而不是包装它。