2016-08-29 6 views
2

私はggplot2の初心者です。実験を開始してからわずか4日です。だから、もしこの質問があまりにも基本的に聞こえたら謝ります。私は指導に感謝します。私はこの問題に関して約1時間苦労してきました。geom_abline()とggplotの使用

私は以下のように geom_abline()を使って実験した

:これは私のように動作します

p <- ggplot(mpg, aes(cty, hwy)) + geom_point() 
p + geom_abline() + facet_wrap(~cyl) 

は、以下のようにすべての4つのファセットのグラフにおける基準線を見ることができます:

enter image description here

その後、I別の関連データセットmtcarsを使用して、何が起こっているかを確認しました。geom_abline()

p <- ggplot(mtcars, aes(wt, mpg)) + geom_point() 
    p + geom_abline() + facet_wrap(~cyl) 

しかし、私は、このコマンドを実行したときに、私は私がヘルプファイルに上記のコマンドに類似した内容を発見した、非常に驚​​くべきことにgeom_abline().を見ることができませんでした、そして、それは言う、「geom_abline()が範囲外である

「範囲外」の意味を知っていますが、特定のデータセット内にあるかどうかを知るには、abline()は範囲外でしょうか?特定の勾配と傍受を使用するように強制することでそれを上書きすることはできますが、これを少しハッキングすると考えています。出力を見た後にコードを修正する。私はgeom_abline()

のために舞台裏で何が起こるかを知ることができますがどのような方法は、ここで私は、私は任意の考えをいただければと思いますどのabline()enter image description here

せずに得たグラフですされています。私は本当に混乱しています。

答えて

5

は、あなたが任意の引数を与えていない場合は、geom_abline()は、デフォルト値、intercept = 0slope = 1を使用しています。

ggplot(mpg, aes(cty, hwy)) + geom_point() + geom_abline() + lims(x = c(0,35), y = c(0,50)) 
ggplot(mtcars, aes(wt, mpg)) + geom_point() + geom_abline() + lims(x = c(0,6), y = c(0,35)) 

enter image description hereenter image description here

2

geom_abline()のヘルプをご覧ください。示した同じデータセットとの例があります - 小面なし - それは:

p + geom_abline() # Can't see it - outside the range of the data 

試してみてください。

p <- ggplot(mtcars, aes(wt, mpg)) + geom_point() 
p + geom_abline(intercept = 20) + facet_wrap(~cyl) 
3

最初のプロットと第2のプロットとの間の差、ablineの存在の点で、データセットの差によって決定されません。あなたは尋ねた:

は、どのように私は、特定のデータセットには、ablineは() 範囲外であるかどうかを知っていますか?

実際には、審美的に投げられた2つの変数のスケール(つまり、2つのマッピング変数)によって異なります。 mpgのデータをプロットしたスクリプトで注意深く確認した場合、hwycityを比較しています。これらのそれぞれを調べてみましょう:

range(mpg$hwy) 
[1] 12 44 
range(mpg$cty) 
[1] 9 35 

ご覧のとおり、変数の範囲はかなり重なっています。今度は、mtcarsデータ用いて、第2のプロットにマッピングされた二つの変数を見てみましょう - mpgwt:ここ

range(mtcars$mpg) 
[1] 10.4 33.9 
range(mtcars$wt) 
[1] 1.513 5.424 

あなたはゼロ重複がある見ることができますが、あなたがグラフ化するとき、あなたがそれを見ていない理由ですそれ以下のように:、

enter image description here

今の範囲にあるが、mtcarsデータセットから引き出されたデータを使用しての範囲のテスト概念を聞かせていないデータセットが、Tを示すためにマップするために選択された変数の範囲をオーバーラップさせます。 mtcarsでは、mpgとスティックし、その範囲内の別の変数を選択できます.-試合はqsec?のは、彼らの範囲を確認してみましょう:

range(mtcars$mpg) 
[1] 10.4 33.9 
range(mtcars$qsec) 
[1] 14.5 22.9 

OKは、間違いなくそこにいくつかの重複があります。

p <- ggplot(mtcars, aes(qsec, mpg)) + geom_point() + geom_abline() + facet_wrap(~cyl) 

enter image description here

それが依存したデータセットではありませんいくつかの追加の確認:それをマッピングし、何が起こるか見てみましょう。ワークフローを逆にして、代わりにmpgデータセット内の重複しないペアを特定してみましょう。ここでは、アブラインを見ることは期待しないでください。 hwyを貼り付けてdisplと比較しましょう。彼らは重複しない、それは私の言葉を取る:

ggplot(mpg, aes(displ, hwy)) + geom_point()+geom_abline() + facet_wrap(~cyl) 

enter image description here

などとして、(cuttlefish44 @)0と1の傾き)の切片でgeom_abline()デフォルトを指摘しました。

適合のためにgeom_smooth()を試してみてください。

p <- ggplot(mpg, aes(cty, hwy)) + geom_point() 
p + geom_smooth(method = "lm", se = FALSE) + facet_wrap(~cyl) 

enter image description here

関連する問題