首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在给定概率矩阵的情况下从二项分布中抽样

如何在给定概率矩阵的情况下从二项分布中抽样
EN

Stack Overflow用户
提问于 2019-04-26 03:33:08
回答 1查看 31关注 0票数 1

我正在尝试创建一个0,1和2的矩阵。让我们称这个数据集为A,这样A[i,j] ~ Binomial(2, P[i,j]),其中P是另一个矩阵,它给出了A中每个条目的概率。因此,矩阵A中的每个条目将根据其在矩阵P中的对应概率条目进行二项式分布。下面给出了一个for循环,它说明了我想要什么,但这在R中非常慢,所以我在想,是否有人知道我如何使用apply函数来做到这一点?P和A都是m*n矩阵。

代码语言:javascript
运行
复制
for (i in 1:m) {
  for (j in 1:n) {
    a[i,j] = rbinom(n = 1, size = 2, prob = p[i,j])
  }
}
EN

回答 1

Stack Overflow用户

发布于 2019-04-26 03:43:39

代码语言:javascript
运行
复制
prow <- 100
pcol <- 100
set.seed(1)
p <- matrix(runif(prow*pcol), ncol=pcol, nrow=prow)
diag(p) <- 0
a <- matrix(NA, ncol=pcol, nrow=prow)

a[] <- rbinom(n=prow*pcol, size=2, prob = p)

print(a[1:10,1:10])

概率参数可以被矢量化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55856458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档