从不同的分布中绘制而不在R中循环



我想对绘图方式进行矢量化。假设我有一个泊松的参数值向量,对于每个参数,我想画一个样本。有没有一种方法可以做到这一点而不循环?

您需要为每个函数参数指定向量,以便获得向量结果:

> rpois(rep(1,4), lambda = c(1,10,100,1000))
[1]    0   12   88 1031

关于第一个论点,请参阅文档:

对于rpois,结果的长度由n决定,并且是其他函数的数值参数长度的最大值。

除n以外的数值参数被循环到结果的长度。仅使用逻辑参数的第一个元素。

如果你需要在每个级别进行多次抽奖,那么你必须mapply(或Vectorize)函数:

> mapply(rpois, rep(4,4), lambda = c(1,10,100,1000))
     [,1] [,2] [,3] [,4]
[1,]    0    8   78 1016
[2,]    0   10  106 1044
[3,]    1   14   97 1004
[4,]    0   13   94  983

最新更新