首页 文章

是否可以有效地模拟不同参数(来自矩阵)的β分布?

提问于
浏览
1

我有一个矩阵 A ,其中包含我的beta分布的alpha参数, A^2 包含beta参数 . 我想得到一个矩阵 C ,其中包含来自beta分布的模拟,其中C [i,j]是来自 Beta(A[i,j], A[i,j]^2) 的模拟 .

我已经尝试了 rbeta(1,A,A^2) 但是这只给出了第一个元素的模拟 .

所以我创建了这个功能

Beta<-function(x){
rbeta(1, x, x^2)  
}

然后使用apply函数,就像这样

C<-apply(A,c(1,2), Beta)

哪个有效 . 唯一的问题是A是 100 x 100000 而我的电脑很难计算 C . 有谁知道更快的方式来执行这样的任务?

1 回答

  • 0

    您可以使用一个命令创建整个矩阵 . 你这里不需要 apply .

    C <- matrix(rbeta(length(A), A, A^2), dim(A))
    

    这应该快得多,虽然我没有测试它 .

相关问题