我如何仅使用随机均匀生成器创建具有以下概率的多项式分布:((0.2,0.1,0.3,0.4)。
答案 0 :(得分:1)
您可以使用sample()函数从具有自定义概率的分布中进行采样。就您而言:
x <- sample(1:4, size = 100, replace = TRUE, prob = c(.2, .1, .3, .4))
这将提供100个数字,从1到4,以及您提供的概率。
sample()使用R中的随机数生成器,所以我不确定是否将其视为使用随机统一生成器。
答案 1 :(得分:0)
统一生成[0,1]之间的某个数字,如果它在[0,0.2]中,则将其分配给第一个值(称为x1),如果它在[0.2,0.3],x2,[0.3之间,0.6] x3,[0.7,1] x4。然后确保例如x1的概率为0.2。