看板 R_Language 關於我們 聯絡資訊
大家好,附圖為我的程式架構 https://i.imgur.com/LW6h95M.jpg
大致上是: 寫一個function 裡面是對模型配適的模擬與迭代 經由給定的起始值會慢慢收歛至模型的真值 收歛條件為後項減前項<0.01或迭代到第五十次 則此次的模擬結果就會存到下面的avebeta矩陣 重複200次取平均 以上內容 如果想改成: 收歛條件為後項減前項<0.01 若迭代超過50次仍為收斂 則該次取樣的模擬值不存入avebeta矩陣內 程式自己重新生成資料去跑simulation這個function 程式碼該怎麼改… 請教各位前輩與高手了 謝謝大家! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.74.9.63 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1606906113.A.1CC.html
andrew43: 看不懂「己重新生成資料去跑simulation這個function」 12/02 19:13
andrew43: 如果你只是想把求解和重覆200次合成一個function,最快 12/03 01:06
andrew43: 的方法就是都寫死在同一個function裡即可。 12/03 01:07
rebe212296: 為何已經用apply了還要用for 12/03 13:00
rebe212296: break改成continue或next 12/03 13:03
rebe212296: ifelse再多一個else 12/03 13:05
rebe212296: 先把你真正要的寫例子出來,再case by case 12/03 13:06
rebe212296: 小於0.01太大,其實應該小於1e-6程式才會判斷前項值 12/03 13:10
rebe212296: 等於後項值 12/03 13:10
rebe212296: 要寫<=1e-6 12/03 13:11
rebe212296: 版上有很多模擬的解答可以參考 12/03 13:22
andrew43: 我猜原po的意思是要改成「若達模擬次數上限但差值不達標 12/03 16:35
andrew43: 則自動重新做一次」。可參考以下的例子當範本去改 12/03 16:36
andrew43: https://ideone.com/r6DFbj 故意寫得很囉唆方便理解 12/03 16:36
rebe212296: 感謝a大 12/03 17:34