繁体   English   中英

确定在 R 中两次滚动加载的骰子的所有结果的概率

[英]Determine the probability of all outcomes of rolling a loaded die twice in R

R 的新手。我加载了一个标准的 6 面模具,因此“4”的可能性是任何其他面的两倍,所以我的随机变量看起来像:

X1 = {[1, 1/7], [2, 1/7], [3, 1/7], [4, 2/7], [5, 1/7], [6, 1/7] }

我想找到一个随机变量 (X2) 的整个概率密度函数,它对两个滚动的结果 (X1+X1) 求和,所以输出将是 X2 = {[2, 1/49], [3, 1 /49], ... , [12, 1/49]}。 输出可以是数据框、表格或您认为最合适的任何内容。

我尝试了以下方法:

dice <- c(1,2,3,4,5,6)
probs <- c(1/7, 1/7, 1/7, 2/7, 1/7, 1/7) 
c <- expand.grid(probs, probs)
d <- c[,1]*c[,2]
table(d)

然而,这显然不会将结果概率与其各自的结果联系起来。 我该怎么做?

在您已经完成的工作的基础上,继续的一种方法是:

dice <- 1:6
probs <- c(1/7, 1/7, 1/7, 2/7, 1/7, 1/7) 

df <- data.frame(
    val = apply(expand.grid(dice, dice), 1, sum),
    prob = apply(expand.grid(probs, probs), 1, prod)
)
# solution 1: using split()/lapply()
tmp <- split(df$prob, df$val) # check this out!
res <- lapply(tmp, sum)
## solution 3: using aggregate()
res <- aggregate(prob~val, df, sum)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM