本記事は 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
を使えばタイプ量は減るかもしれませんが、多くの機能が使えないわけですから。