如何矢量化rmultinom?

时间:2018-03-27 09:38:49

标签: r performance vectorization

用于模拟概率分布的许多R函数被矢量化。 ?rmultinomdmultinom没有矢量化,因此我假设rmultinom也没有。在一组概率中重复执行rmultinom的最有效方法是什么?

例如:

p = matrix( c(0.1,0.2,0.3,0.4,0.2,0.3,0.4,0.1,0.3,0.4,0.2,0.1), ncol=4, nrow = 3, T)

p3 x 4概率矩阵,每行总和为1。现在,目标是为每行创建n size个样本。为简单起见,请使用n=1size=1,分类分发。

rmultinom(1,1,p)提供12 x 1矩阵。然而,期望的结果是4 x 3矩阵,对于每个列,正好有1个元素等于1。

for循环是可能的,但似乎效率低下。有没有更好的方法来实现这一点(对于大型矩阵p)?

0 个答案:

没有答案