如何计算R中两个骰子掷骰子之和的矩阵



有没有一种惯用的方法可以将R中两个骰子的总和计算为矩阵?

这是我正在寻求的输出:

[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

外部函数是为获取两个向量的外积而设计的,但您可以将函数切换到"+"。

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

除了outer之外的另一个基本R选项,使用replicate

r <- t(replicate(6,1:6))+1:6

r <- (u <- replicate(6,1:6)) + t(u)

使得

> r
[,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
sapply(seq(6), "+", seq(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

最新更新