x<- c(4,5,6,2,3,8,4,7)
y<- c(6,9,2,1,2,5,6,3)
plot(x,y)
plot(x~y)
2 つのプロット関数の引数の違いは何ですか?
plot(x,y)
: x
is used as x values and y
is used as y values.
plot(x~y)
: y
is used as x values and x
is used as y values.
Read the help pages: ?plot
and ?plot.formula
.
文字を入力するplot
と、コアが である関数定義が表示されますUseMethod("plot")
。plot
は「汎用」関数です。つまり、引数のクラスによって呼び出しのディスパッチ方法が決まります。したがって、R は最初の引数のクラスx
( の場合は (数値ベクトル)、 の場合は(数式)plot(x,y)
を調べます) 。最初のインスタンスと2 番目のインスタンスの2 つの異なる関数が呼び出されます。次に、左側 (LHS) の引数 (この場合は "x") を調べて、使用するメソッドをさらに決定します。x~y
plot(x~y)
plot.default
plot.formula
plot.formula
R の数式は一般に、「LHS は RHS に依存している」または「LHS は RHS として配布されている」と読むことができるためx
、プロット関数の parent.frame では縦座標 (一般に「y 軸」と呼ばれる) にプロットされます。一方、y は横座標 (x 軸) になります。見る:
help(plot.formula)
この場合
plot(x~y) = plot(y,x)
そのため、同じ結果が得られません。
plot(x~y)
は数式でありplot(x,y)
、軸の離散値を設定しています。