确定在 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]}。输出可以是一个数据帧,table,或者你认为最合适的任何东西。

我尝试了以下操作:

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)