【发布时间】:2019-02-21 17:34:34
【问题描述】:
我如何仅使用随机均匀生成器来创建具有以下概率的多项分布:((0.2, 0.1, 0.3, 0.4)。
【问题讨论】:
标签: r multinomial
我如何仅使用随机均匀生成器来创建具有以下概率的多项分布:((0.2, 0.1, 0.3, 0.4)。
【问题讨论】:
标签: r multinomial
您可以使用 sample() 函数从具有自定义概率的分布中采样。在你的情况下:
x <- sample(1:4, size = 100, replace = TRUE, prob = c(.2, .1, .3, .4))
这给出了从 1 到 4 的 100 个数字以及您提供的概率。
sample() 使用 R 中的随机数生成器,所以我不确定您是否将其视为使用随机统一生成器。
【讨论】:
均匀地生成[0,1]之间的某个数,如果在[0,0.2]中,则将其分配给第一个值(称为x1),如果在[0.2,0.3],x2,[0.3]之间,0.6] x3,[0.7,1] x4。然后保证,比如x1的概率是0.2。
【讨论】: