3

私はRに少し慣れていません.Rserveから呼び出すことができるように、Rスクリプトを関数としてラップしようとしています。ggplot2 が関数内では機能しないのに、関数外では正常に機能する理由を知っている人はいますか?

png('polarity.png')
ggplot(sent_df, aes(x=polarity)) +
  geom_bar(aes(y=..count.., fill=polarity)) +
  scale_fill_brewer(palette="RdGy") +
  labs(x="polarity categories", y="number of conversatins") +
  opts(title = "Sentiment Analysis of Posts on Facebook\n(classification by polarity)",
       plot.title = theme_text(size=12))
dev.off()

これは、関数またはS4で使用するとggplot2がエラーを生成することに関係している可能性がありますが、検出できるエラーが発生しません-出力が得られません。

4

1 に答える 1

14

これは R の FAQ です。必要な場合print()は、ggsave()ggplot2 に固有のものです。

よくある質問から:

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

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

于 2013-06-15T17:32:20.720 に答える