本記事は ggplot2逆引き プロジェクトの一環として、Stack Oveflow の下記記事を翻訳したものです。
Choosing between qplot() and ggplot() in ggplot2
質問
私は R でのプロットに、素晴らしい ggplot2 パッケージを使い始めた者です。
ggplot2 でプロットを作成しようとするとき、まず最初に自分に問いかける質問があります。
「うーむ、qplot と ggplot のどちらを使おうか」
私の理解では、qplot 関数はシンプルな文法を提供するものであり、一方 ggplot 関数はより柔軟に全ての機能を利用可能にするものだと思っています。
ここで質問したいのは、みなさんはどちらかの関数を重点的に使用しているのでしょうか?
もしくは、「こういう場合にはこっちを使う」という明確な基準を持っているのでしょうか?
普段は qplot を使用して、複雑なプロットを描くときだけ ggplot を使用しているのでしょうか?
それとも常に ggplot を使用しているのでしょうか?
ご回答いただけると幸いです!
回答
私の場合、もし qplot と ggplot の両方が使用可能である場合は、データが data.frame に格納されているのか、それとも別々の変数になっているのかというのが使い分けの基準になります。
x <- 1:10
y <- rnorm(10)
qplot(x, y, geom="line") # こっちを使う
ggplot(data.frame(x, y), aes(x, y)) + geom_line() # くどい
d <- data.frame(x, y)
qplot(x, y, data=d, geom="line")
ggplot(d, aes(x, y)) + geom_line() # こっちを使う
もちろん、もっと複雑なプロットを描くには、ggplot() が必要になります。
そして私は普段からデータを data.frame に格納するようにしているので、経験上、qplot を使用するのは稀です。
私は常に ggplot() を使うのが良いように思います。
qplot を使えばタイプ量は減るかもしれませんが、多くの機能が使えないわけですから。