2016-10-11 8 views
2

私は同じグラフに2つの曲線をプロットしようとしていますが、動作しません。区間[0,6]でx> 3ならば、f(x)= 3x + 2(x < = 3、f(x)= 2x-0.5x^2)をプロットしたい。私はこのような関数をプロットするために何ができ同じプロットで2段階で区分回帰をプロットする

curve(3*x+2, 0,3)

curve(2*x-0.5*x^2,3,6, add = TRUE) 

をしなければならなかったと思いましたか?

+0

限界がオフになっています。最初のカーブコールでxlimとylimを調整して、2番目の曲線が表示されるようにする必要があります。したがって、最初の曲線呼び出しに 'ylim = c(-5、10)、xlim = c(0,6)'を追加します。 – jmartindill

答えて

1

プロットの制限を設定するために、第1 curvexlimylimを使用します。

curve(3*x+2, 0,3, xlim = c(0, 6), ylim = c(-5, 12)) 
curve(2*x-0.5*x^2,3,6, add = TRUE) 

enter image description here

第2の曲線は、まだ少しカットオフにつれ、あなたは、yの限界のためc(-7 12)を使用する場合があります。あなたがしたい場合

別のオプションは、回線を接続しifelseと1の両方の機能を符号化することである手動の制限を設定する必要性を除去する:

curve(ifelse(x <= 3, 3 * x + 2, 2 * x - 0.5 * x^2), 0, 6, ylab = "f(x)") 

enter image description here

0

たとえば、2つのカーブを一緒に取得できます。

c1 <- curve(2*x-0.6*x^2,3,6) 
c2 <- curve(2*x-0.5*x^2,3,6) 

plot(c1) 
lines(c2, col="red") 

enter image description here

関連する問題