r - 计算 R 中两次掷骰总和的概率

标签 r probability dice

我有一个矩阵,由骰子 1 和骰子 2 的总和组成,或者 Y = D1 + D2

outer(1:6, 1:6, "+")

输出是:

     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    2    3    4    5    6    7
[2,]    3    4    5    6    7    8
[3,]    4    5    6    7    8    9
[4,]    5    6    7    8    9   10
[5,]    6    7    8    9   10   11
[6,]    7    8    9   10   11   12

我如何将它放在一个名为 Y 的数据框中,其中包含总和以及每个总和的概率,例如:

Sum     pSum
2       1/36
3       2/36
4       3/36
.
.
. 
12      1/36

当我计算 sum(Y$pSum) 时,它将等于 1

最佳答案

我们可以通过将 outer 值转换为 vector('Sum')和比例(prop.table) 的频率 (table) 作为 'pSum'

v1 <- c(m1)
data.frame(Sum = v1, pSum =  as.numeric(prop.table(table(v1))[as.character(v1)]))

-输出

Sum       pSum
1    2 0.02777778
2    3 0.05555556
3    4 0.08333333
4    5 0.11111111
5    6 0.13888889
6    7 0.16666667
7    3 0.05555556
8    4 0.08333333
9    5 0.11111111
10   6 0.13888889
11   7 0.16666667
12   8 0.13888889
13   4 0.08333333
14   5 0.11111111
15   6 0.13888889
16   7 0.16666667
17   8 0.13888889
18   9 0.11111111
19   5 0.11111111
20   6 0.13888889
21   7 0.16666667
22   8 0.13888889
23   9 0.11111111
24  10 0.08333333
25   6 0.13888889
26   7 0.16666667
27   8 0.13888889
28   9 0.11111111
29  10 0.08333333
30  11 0.05555556
31   7 0.16666667
32   8 0.13888889
33   9 0.11111111
34  10 0.08333333
35  11 0.05555556
36  12 0.02777778

如果我们只想要汇总输出

stack(prop.table(table(v1)))[2:1]
#    ind     values
#1    2 0.02777778
#2    3 0.05555556
#3    4 0.08333333
#4    5 0.11111111
#5    6 0.13888889
#6    7 0.16666667
#7    8 0.13888889
#9   10 0.08333333
#10  11 0.05555556
#11  12 0.02777778

在哪里

m1 <- outer(1:6, 1:6, FUN = `+`)

或者另一种选择是 expand.grid

stack(prop.table(table(do.call(`+`, expand.grid(rep(list(1:6), 2))))))

关于r - 计算 R 中两次掷骰总和的概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67184137/

相关文章:

python - 生成概率列表

c - 生成骰子游戏 - C 编程

c - 调整风险规则会对游戏产生什么影响?

python - Python 循环中丢失了掷骰子组合值的函数

r - 在不规则网格上绘制数据的有效方法

python - 安装rpy2时遇到错误: Tried to guess R's HOME but no R command in the PATH

R:使用 par 设置多个绘图高度

r - 创建数据透视表

javascript - 随机数范围的不同概率

php - 查找没有共同元素的组合