simulating rolling two dice

后端 未结 3 1104
Happy的楠姐
Happy的楠姐 2021-01-05 00:52

I am trying to simulate rolling two dice. I used:

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

and get the expe

相关标签:
3条回答
  • 2021-01-05 01:22

    If your issue is that you can't roll any arbitrary number of dice, something like:

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

    Would be more flexible.

    0 讨论(0)
  • There is a dice function in the TeachingDemos package that simulates the rolling of dice (and there is even an option to plot the results, but 1000 rolls would not make a meaningful plot). This may seem a little less brute force, but internally it does similar to what has already been posted. You can use apply or related functions to do things like sum across the columns of the return.

    0 讨论(0)
  • 2021-01-05 01:40

    I agree with David that nothing seems particularly wrong with your first option. Another way to go might be this, if you're really just after the sum of the two dice:

    sample(2:12,size = 100,replace = TRUE, prob = table(outer(1:6,1:6,"+")) / 36)
    
    0 讨论(0)
提交回复
热议问题