長い計算を実行するいくつかの C++ コードを含む R パッケージを作成しています。C++ コード内では、Rprintf() を使用して情報を出力しています。suppressMessages() を使用して R からの出力を抑制しようとしましたが、これは機能しません。メッセージは R セッション内に表示されたままです。
人々がRprintfの代わりにprintfを使用しているという同様の質問をいくつか見つけましたが、私はすでにRprintfを使用しています。R_ShowMessage() も試してみましたが、これもすぐに表示され、suppressMessages() によって抑制されません。
C++ コードの例を次に示します。
#include <R.h>
extern "C" {
void R_testprint()
{
Rprintf("Try to suppress me!\n");
R_ShowMessage("Try to suppress me, too!");
}
}
そして、このコードを呼び出す関数:
test.print <- function(string) {
res <- .C("R_testprint")
}
現在、次の R コードは出力を抑制しません。
> suppressMessages( test.print() )
Try to suppress me!
Try to suppress me, too!
Rバージョン3.1.0を使用しています
どんな助けにも感謝します!