我想在R中運行一個程序,要求用戶選擇一些骰子,在骰子上運行模擬並確定將最小數字滾動到最大值的概率。R編程 - 投擲骰子算法
例如,如果用戶選擇5個裸片,則最小卷將是5x1 = 5,並且最大卷將是5x6 = 30。我已經有一定數量的骰子和一套總數的代碼 - 只需要知道如何增加它。 'd'是死亡數,'k'是卷的總數,'nreps'是模擬運行(例如1,000,000)。我想將每個概率存儲在一個向量中,然後給出概率與概率總和(從最小到最大)的圖(泊松分佈)。
probtotk <- function(d, k, nreps){
count <- 0
#do the experiment nreps times
for (rep in 1:nreps){
total <- sum(sample(1:6, d, replace = TRUE))
if (total == k) count <- count +1
}
return(count/nreps)
}
我對你的目標感到困惑。您似乎想要專注於特定的總數('k'),但也希望查看每個可能的總數(*「給出概率與總滾動(從最小到最大)」*)的圖。似乎你應該選擇這兩個選項中的一個(並且從最小到最大看起來更加有趣和簡單)。 – Gregor
我的意思是,如果你滾動5個骰子,用1M模擬來找出總數爲5的概率,然後用1M模擬來找出總數爲6的概率是沒有意義的。 ,只需進行1M模擬並查看總計的分佈情況。 – Gregor