在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