2012-11-10 11 views
5

Rcpp(具体的にはRcppArmadillo)を使用してMCMCサンプラーをコーディングしました。私はサンプラーが周期的なステータスメッセージをRコンソールに出力するようにしたいが、サンプラーが終了するとすぐにすべてのメッセージが表示される。出力ステートメントは次のとおりです。即座にRコンソールにRcout出力を表示させる

Rcout << "Progress => " 
     << double(iterations)/double(maxit) * 100 
     << "%" 
     << std::endl; 

出力がRコンソールにすぐに表示されるようにこのコードを拡張できますか?

Rバージョン:2.14.1

プラットフォーム:ダーウィン9.8.0

Rcppバージョン:0.9.10この動作はRcpp 0.10.0に実装されてい

+1

あなたは、コンソール出力バッファをフラッシュする必要がある場合があります。 C++ではstd :: flush、おそらくRcppに相当するものがありますか? – Thomas

+1

おそらく 'R_FlushConsole'を呼び出すとそれを行います –

答えて

2

(近日発売予定) answers to this questionからのアドバイスに従ってください。

一方で、手動で()とflush.console R_FlushConsole

+0

+1 - とても素敵な追加 –

+0

私がそこにいる間。 'Rcerr'を実装しました –

+0

std :: flushもR_FlushConsoleも問題を修正しません。関数が終了するまで、出力はまだ遅れています。 – user1815351

0

フラッシュ()はまだ壊れているを呼び出すことができます。 R 3.0.2/OSX

関連する問題