rbeta中不同n值的向量

rbeta中不同n值的向量,r,R,我想同时使用rbeta中不同参数值的向量,得到一个向量,其长度是n个向量元素的和。比如说, n <- c(10, 20, 30) alpha <- c(1,2,3) beta <- c(3,2,1) rbeta(n, alpha, beta) n通常,当将函数应用于向量的元素时,需要对输入向量进行lappy: unlist(lapply(n, rbeta, 2, 1) 但是,在您的情况下,您可以简单地对所有的ns进行求和: rbeta(sum(n), 2, 1) 如果有多

我想同时使用rbeta中不同参数值的向量,得到一个向量,其长度是n个向量元素的和。比如说,

n <- c(10, 20, 30)
alpha <- c(1,2,3)
beta <- c(3,2,1)
rbeta(n, alpha, beta)

n通常,当将函数应用于向量的元素时,需要对输入向量进行
lappy

unlist(lapply(n, rbeta, 2, 1)
但是,在您的情况下,您可以简单地对所有的
n
s进行求和:

rbeta(sum(n), 2, 1)
如果有多个参数用于
alpha
beta
,则可以改用(小心,参数与
lappy
相反):


对于您修改后的问题,我认为明智地使用
rep()
将使其有效

n <- c(10, 20, 30)
alpha <- c(1,2,3)
beta <- c(3,2,1)
rbeta(sum(n),rep(alpha,n),rep(beta,n))

n
rbeta(sum(n),2,1)
..谢谢你,但我意识到我的问题不够详细,所以我编辑了它。在我的例子中,我实际上需要不同的alpha和beta值,所以我不能只求n向量的和。@SarahK在这种情况下,
lappy
或它的姐妹
mappy
是你的朋友。你还需要小心
mappy
简化
参数,如果你碰巧有一个相等的
n
值的向量…@BenBolker-Dang,我怎么能忘记这个?!出于这个原因,我总是使用
Map
n <- c(10, 20, 30)
alpha <- c(1,2,3)
beta <- c(3,2,1)
rbeta(sum(n),rep(alpha,n),rep(beta,n))