ggplot2でのqplot()とggplot()の選択[終了]


98

私は偉大使用することを始めているggplot2Rでプロットするためのパッケージを、各プロットがされる前に、私は自分自身に尋ねる最初のものの一つ「だけでなく、私が使用しますqplotggplot?」

最大の機能と柔軟性qplotggplot可能にしながら、より単純な構文を提供することを理解していますが、最もよく使用する関数は何ですか?それぞれに正確な使用例はありますか?あなたは、ほとんど使用していますqplotし、ggplot複雑なプロットのためにのみ、またはあなたが使用して行うggplot毎回?

ご意見ありがとうございます !

回答:


81

私の場合、qplotとggplotの両方が使用可能な場合、基準はデータがdata.frameに格納されているか、別の変数に格納されているかによって異なります。

x<-1:10
y<-rnorm(10)

qplot(x,y, geom="line") # I will use this
ggplot(data.frame(x,y), aes(x,y)) + geom_line() # verbose

d <- data.frame(x, y)

qplot(x, y, data=d, geom="line") 
ggplot(d, aes(x,y)) + geom_line() # I will use this

もちろん、より複雑なプロットにはggplot()が必要であり、通常はdata.frameにデータを保存するため、私の経験では、qplotを使用することはほとんどありません。

そして、常にggplot()を使用することは良いように思えます。qplotはタイピングを節約しますが、多くの機能を失います。


2
すべてのおかげで、すべての回答が役に立ったとしても、受け入れられます!
juba

素晴らしい質問、そして素晴らしい答えです。
d8aninja 2015年

すばらしい回答本当にありがとう
Homam Bahrani

17

私はRは初めてですが、これを共有することを考えました。

 a <- c(1,2,3)

 b <- c(2,3,4)

 x <- qplot(a,b)

 y <- ggplot(data.frame(a,b), aes(a,b)) +geom_line()

変数aとbの値を変更してからxをプロットすると、変更された値が考慮されますが、yはそうではありません。したがって、スクリプトを作成するときは、qplotを使用する場合と同じように、ggplotを使用することをお勧めします。すべてのグラフは、qplotに提供される最新の参照と等しくなります。


11

これは、ggplot2を使用する頻度と目的に依存すると思います。

私は主に出版物のグラフィックにggplot2を使用しています。これは、私はより高度な機能を必要とする傾向があることを意味しますqplot。また、私は年に4冊程度の出版物を持っているので、構文に本当に慣れるのに十分なほどggplot2を使用していないので、1つの側面に集中することが最適のようです。

ただし、新しいデータセットを毎週取得する場合は、データセットすばやく調査して、高品質のプロット作成することにおそらく関心があります。この場合、両方を学びます。構文で十分な練習ができ、(最終的に)で時間を節約できqplotます。


8

ジュバ、私はほとんどの基本的なプロットのニーズにqplotを使用できることを発見しました。それは十分に単純で、デフォルトはかなり合理的であり、私は学部生にそれを独占的に使用させ、限られた経験で優れたプロットを作成することができます。また、qplot [p <-qplot(etc)]によって作成されたプロットは、ggplot2が提供するすべてのコマンドで変更できます。これは便利です(作成方法に関係なく、すべて同じ方法で保存されます)。だから私はほとんどすべてにqplotを使用し、関数の内部ではggplotを保存します。


5
  • 入力ベクトルを扱う場合、qplotが最も簡単な選択です。
  • ggplotは、入力データ構造としてdata.frameを必要とします。

ヒストグラムを作成する場合、qplotは発生のベクトルのみを必要とします

#rnorm 
x <- rnorm(10)

#ggplot2 package: qplot
qplot(x, geom="histogram")

#ggplot2: using straight ggplot (requires conversion to data.frame)
ggplot(data.frame(x), aes(x)) + geom_histogram()

3

私のもう1つのバリエーション:qplotコンソールに直接入力するggplotとき、およびスクリプトを書くときに使用します。しかし、15分前にコンソールに入力したプロットを繰り返し作成したいと何度も繰り返した後、今ではそれらのほとんどすべてをスクリプトに書き込んでいるため、ほとんどの場合ggplotを使用しています。

(答えの多様性を見て面白い!)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.