1
這是來自「分析棒球數據與R」的第9章,試圖模擬半局運行得分;R:運行馬爾可夫鏈仿真時概率錯誤的數量不正確
simulate<-function(P,R,start=1){
s<-start; path<-NULL; runs<-0
while(s<25){
s.new<-sample(1:25, 1, prob=P[s, ])
path<-c(path, s.new)
runs<-runs + R[s, s.new]
s<-s.new
}
runs
}
這與本書中的代碼非常相似。當我嘗試使用以下代碼運行它時,出現以下錯誤;
RUNS<-replicate(10000,simulate(tmatrix,R))
錯誤sample.int(長度(X),大小,替換,概率): 概率的數量不正確
點擊 「與調試重新運行」 在Rstudio指出下面的行;
s.new<-sample(1:25, 1, prob=P[s, ])
這是唯一有意義的東西,因爲它有一個概率數量的問題。任何想法如何改變這一點?
嗯,確定這是有道理的,而我傳遞矩陣的尺寸爲24×26,我在同時和s.new語句改爲25函數值26。然而,這隻會產生一個不同的錯誤: 「R [s,s.new]中的錯誤:下標越界」 – user3334415
@ user3334415:發佈一個可重現的示例,以便猜測可以停止並開始編碼。 –