如何使用随机均匀生成器为多项式分布创建随机向量

How can I create a random vector using random uniform generator for multinomial dist

如何才能使用随机均匀生成器创建具有以下概率的多项式分布:((0.2, 0.1, 0.3, 0.4)。

统一生成[0,1]之间的某个数,如果在[0,0.2]之间,赋值给第一个值(称它为x1),如果在[0.2,0.3],x2之间, [0.3,0.6] x3,[0.7,1] x4。然后保证,比如x1的概率是0.2.

您可以使用 sample() 函数从具有自定义概率的分布中抽样。你的情况:

x <- sample(1:4, size = 100, replace = TRUE, prob = c(.2, .1, .3, .4))

这会根据您提供的概率给出从 1 到 4 的 100 个数字。

sample() 使用 R 中的随机数生成器,所以我不确定您是否将其视为使用随机统一生成器。