5

我已经使用Rcpp(特别是RcppArmadillo)编写了一个 MCMC 采样器。我希望我的采样器将定期状态消息打印到 R 控制台,但是当采样器终止时,这些消息会立即出现。输出语句是:

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

可以扩充此代码,使其输出立即出现在 R 控制台上吗?

R版本:2.14.1

平台:达尔文9.8.0

rcpp 版本:0.9.10

4

3 回答 3

2

此行为已在Rcpp0.10.0(即将发布)中实施,遵循对此问题的答案的建议。

同时,您可以手动调用R_FlushConsole

于 2012-11-11T11:32:13.780 回答
0

flush() 和 flush.console() 仍然损坏。R 3.0.2 / OSX

于 2014-02-02T11:17:35.820 回答
0

你需要一个帽子戏法:

R_FlushConsole();
R_ProcessEvents();
R_CheckUserInterrupt();

复制自:parallel-computing-in-r-with-c-within-r-functions

于 2016-07-29T16:52:53.757 回答