10

グラフィック パッケージの使用を開始しましたlatticeが、問題が発生しました。誰かが私を助けてくれることを願っています。対応する関数を使用してヒストグラムをプロットしたい。

ファイルは次のfoo.rとおりです。

library("lattice")

data <- data.frame(c(1:2),c(2:3))
colnames(data) <- c("RT", "Type")

pdf("/tmp/baz.pdf")
histogram( ~ RT | factor(Type), data = data)
dev.off()

このコードを実行するR --vanilla < foo.rと、すべて正常に動作します。

ただし、2番目のファイルを使用するbar.r

source("bar")

コードを実行するとR --vanilla < bar.r、誤った pdf ファイルが生成されます。source("bar", echo=TRUE)これで問題が解決することがわかりました。ここで何が起こっているのですか?これはバグですか、それとも何か不足していますか?

私は、lattice_0.19-30 で R バージョン 2.13.1 (2011-07-08) を使用しています

4

2 に答える 2

21

それはRのFAQにprint()あります-呼び出すラティス関数の周りに必要です:

7.22 ラティス/トレリス グラフィックスが機能しないのはなぜですか?

最も可能性の高い理由は、R にグラフを表示するように指示するのを忘れたことです。xyplot() などのラティス関数は、グラフ オブジェクトを作成しますが、表示しません (ggplot2 グラフィックス、および S-Plus の Trellis グラフィックスについても同様です)。グラフ オブジェクトの print() メソッドは、実際の表示を生成します。これらの関数をコマンド ラインで対話的に使用すると、結果が自動的に出力されますが、source() または独自の関数内で明示的な print() ステートメントが必要になります。

于 2011-07-21T21:40:46.120 に答える