1

私は R パッケージのビネットに取り組んでおり、ユーザー向けの例としてドキュメントにエラー出力を含めたい場合がたくさんあります。

だからSweaveコードチャンク

<<throws_error>>=
 stop('hello')
@

理想的には、ドキュメントを作成します

stop('hello')
Error: hello

私の実際の例は、かなり長時間実行されるプロセスであり、警告とメッセージ、およびエラーの出力をキャプチャしたいと考えています。

さまざまな Sweave コード チャンクのインクルード パラメータをいじりました。私が思いついた唯一の解決策は、エラー テキストを出力する隠しコード チャンクを作成cat()することです。stderr を何らかの形でリダイレクトする機能で解決策が考えられるようですがsink()、それもわかりませんでした。助言がありますか?

4

1 に答える 1

2

LaTeX および pdf ファイルを使用Sweaveまたは生成しますか?knitr

デフォルトではknitr、RStudio の下で生成されたドキュメントは、取得したいものとほとんど同じです。

Sweave では、R-help のこのメッセージから抜粋した次の回避策を使用できます。

%outputs the R code but does not execute it. So no error
<<echo=TRUE, eval=FALSE>>=
 stop('hello')
@

% executes the code but displays only the error
<<echo=FALSE, eval=TRUE>>=
cat(try(stop('hello')))
@
于 2013-02-15T08:07:31.573 に答える