2

私はMacOSXシステム、Rバージョン2.9.2で大きなSweaveドキュメント/スクリプトに取り組んでいます。状況によっては、Sweaveがstdoutをリダイレクトしているように見えるため、x <- 1; print(x)何も表示されません。(コンソールはまだ実行中plot(x)です。通常どおりプロットがポップアップ表示されます。)したがって、2つの質問があります。

  1. stdoutを強制的にコンソールに戻すにはどうすればよいですか。
  2. Sweaveがこれを行う理由と方法は?
4

1 に答える 1

2

RSeekを多用して見つけました。このsink()関数は、コンソールをファイルにリダイレクトします。sink(NULL)リダイレクトをキャンセルします。Sweaveがシンクを設定する理由はまだ完全にはわかりません。コードのバグが原因で、シンクをキャンセルせずにSweaveが中止されたのではないかと思います。

于 2009-12-15T18:25:11.247 に答える