我想对绘图方式进行矢量化。假设我有一个泊松的参数值向量,对于每个参数,我想画一个样本。有没有一种方法可以做到这一点而不循环?
您需要为每个函数参数指定向量,以便获得向量结果:
> 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