在R中生成不同的密度概率

在R中生成不同的密度概率,r,statistics,probability-density,probability-theory,R,Statistics,Probability Density,Probability Theory,当使用类似于的示例(c(rep(0,5),1),6)时,我可以生成如下矩阵: 项目A B C D E F 1 1 0 0 0 0 0 2 0 1 0 0 0 0 3 1 0 0 0 0 0 4 0 0 0 0 1 0 5 0 0 0 0 1 0 6 0 0 1 0 0 0 7 0 0 0 1 0 0 8 0 1 0

当使用类似于
的示例(c(rep(0,5),1),6)
时,我可以生成如下矩阵:

项目A B C D E F
1   1   0   0   0   0   0
2   0   1   0   0   0   0
3   1   0   0   0   0   0
4   0   0   0   0   1   0
5   0   0   0   0   1   0
6   0   0   1   0   0   0
7   0   0   0   1   0   0
8   0   1   0   0   0   0
9   1   0   0   0   0   0
10 0 0 1 0

根据设计,如果我生成大量的项目(行),特征(列)的概率密度将非常相似,即遵循贝塔分布(1,1):

如何重写我的R代码,以便我能够生成矩阵,其中这6个特征遵循不同的beta分布,例如:beta(3,3)]或beta(7,3)


您的发行版不是Beta发行版。你需要这样的东西,在
问题中有你想要的概率(不清楚):

nsims <- 10000
sims <- matrix(0, nrow=nsims, ncol=6)
colnames(sims) <- LETTERS[1:6]
probs <- c(1/12, 1/6, 1/4, 1/4, 1/6, 1/12) # "Beta(3,3)" ??????
for(i in 1:nsims){
  sims[i,sample.int(6, 1, prob=probs)] <- 1 
}

barplot(colSums(sims)/nsims)

nsims您是否看到了
rbeta
功能?Beta分布是连续的,而您想生成一个二进制矩阵?你为什么不直接为每一列生成一个Beta发行版呢?你从哪里得到这些图片的?这些是离散分布,因此不是贝塔分布。你不是指贝塔二项分布吗?事实上,我正在寻找一种生成矩阵的方法,其概率密度大致遵循贝塔分布(对于x=0;x=0.2,x=0.4,x=0.6,x=0.8和x=1)。是的,这与我想要做的非常接近。我想生成生成离散分布的0/1矩阵,这些矩阵遵循贝塔分布的广泛模式(对于x=0;x=0.2,x=0.4,x=0.6,x=0.8和x=1)假设
probs谢谢,就是这样。一旦beta不能是双峰分布,除了(0.5,0.5),我如何生成双峰分布?同样,您只需在
probs