我現在使用rcppbugs來優化生態系統模型的參數。情況是,我觀察到的數據是一個很長的時間序列,它至少需要10,000次迭代。由於run.model()
在每次輸出的估計值(這裏y.hat),這將導致一個很大的問題,如:R rppppugs:如何禁用估計值的輸出
List of 6
$ factor1 : num [1:2] 0.921 0.921
$ factor2 : num [1:2] 2 2
$ factor3 : num [1:2] 0.954 0.954
$ tau.y : num [1:2] 0.17 0.17
$ y.hat : num [1:2, 1:70176] 0.139 0.139 0.138 0.138 0.136 ...
$ y.lik : NULL
- attr(*, "acceptance.ratio")= num 0
顯然,這是很難每次y.hat保存但同時我需要記錄所有factor1,factor2和factor3值。誰能幫忙?謝謝。
我在函數中看不到'message','print'或'cat'語句,這意味着C++代碼正在打印。你有沒有嘗試'capture.output()'來抑制輸出? – 2014-10-20 07:48:47
謝謝羅馬。它在R中工作,但仍然會用C++代碼輸出。我想知道這是否會有任何影響。我的內存是4 GB,所以如果我迭代10000次模型,C++代碼會崩潰嗎?我正在修改C++源代碼,但它花費了相當多的時間。 – user2597889 2014-10-20 08:21:23
'capture.output'只會「禁止」打印。所有計算仍在完成並返回到您用來保存結果的變量。我對這個項目並不熟悉,也不知道C++代碼的行爲。 – 2014-10-20 09:38:25