gpt4 book ai didi

r - 使用R以给定的概率生成两个值之间的随机整数

转载 作者:行者123 更新时间:2023-12-04 10:34:41 25 4
gpt4 key购买 nike

我有以下四个数字集:

A=[1,207];
B=[208,386];
C=[387,486];
D=[487,586].

我需要生成1到586之间的20000个随机数,其中生成的数字属于A的概率是1/2,而属于B,C,D的概率是1/6。

我可以用R用哪种方式做到这一点?

最佳答案

您可以直接使用sample,更具体地说是probs参数。只需将概率除以所有586个数字即可。类别A分别获取其0.5/207的权重,依此类推。

A <- 1:207
B <- 208:386
C <- 387:486
D <- 487:586
L <- sapply(list(A, B, C, D), length)

x <- sample(c(A, B, C, D),
size = 20000,
prob = rep(c(1/2, 1/6, 1/6, 1/6) / L, L),
replace = TRUE)

关于r - 使用R以给定的概率生成两个值之间的随机整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17001808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com