r - 模拟滚动两个骰子

标签 r

我正在尝试模拟掷两个骰子。我用了:

d2 <- sample(1:6, 10^6, replace = T) + sample(1:6, 10^6, replace = T)

并获得预期的结果。我也试过了
s2d <- c()
for (i in 1:6) { 
  for (j in 1:6){ 
    s2d <- c(s2d, (i+j)) 
  } 
}
d2 <- sample(s2d, 10^6, replace=T)

并且也可以,但是这些感觉有点“强力”。有没有更简单,更优雅的方法呢?

笼统地说,是否有一个函数接受2个(或多个)独立事件,并对它们进行操作(加法,乘法)?

最佳答案

如果您的问题是您不能掷任意数量的骰子,则类似于:

rowSums(replicate(2, sample(6, 10^6, replace=T)))

会更灵活。

关于r - 模拟滚动两个骰子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14820203/

相关文章:

r - ggplot 两条线之间的阴影区域

r - 如何在ggplot中设置某些轴的图例

R cumsum 与基于值的乘法

r - 为什么 data.table 会通过引用更新名称(DT),即使我分配给另一个变量?

r - 修剪错误?未删除前导空格

r - 继承自 data.frame 的 S4 对象:删除 dplyr::filter 中的警告

r - 如何比较每个索引处两个字符串的字符?

解决 R 函数中的 nrow/length(list) 错误

r - 使用 lapply/sapply 创建单级列表,无需强制

R中的滚动条件计数