我想从多项分布中抽样。我会通过使用样本并指定一些概率来做到这一点。例如:我有 3 个类别,我想采样 10 次。
> my_prob = c(0.2, 0.3, 0.5)
> x = sample(c(0:2), 100, replace = T, prob = my_prob)
> head(x)
[1] 2 0 2 1 1 2
我的设置现在只在以下方面有所不同:我想采样很多(例如 1e09)数字。实际上我只对每个类别的频率感兴趣。所以在上面提到的例子中,这意味着:
> table(x)
x
0 1 2
27 29 44
有人知道如何尽可能高效地计算它吗?
谢谢,斯蒂菲