2016-11-26 12 views
1

私は対数回帰の最良適合線と、その線の周りの信頼区間をプロットしています。信頼区間が両方とも "グレー"(デフォルトの "赤"と "緑"ではなく)であることを除いて、私が使用しているコードは十分に機能します。残念ながら、私は色の変更を指定するときにそれらを隔離する方法を見ていない。回帰直線は予測プロットに「matlines」を使用した場合の信頼区間の色を変更するにはどうすればよいですか?

  • です。lty = 1, col = "black";
  • 信頼区間は:lty=2, col = "gray"です。

どうすればこの問題を解決できますか?

R6cl <- lm(log(R6$y) ~ R6$x) 
pR6cl <- predict(R6cl, interval="confidence") 
plot(R6$x, log(R6$y), type = "p") 
matlines(x = R6$x, y = log(R6$y), lwd = 2, lty = 1, col = "black") 

生成します:私のコードは一種のです

enter image description here

+0

私があなたが実際に投稿したコードがこのプロットを生成するとは確信していません。 [再現可能な例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を提供するデータおよび/またはコードを含めてください。また、ヒント: 'matlines()'は、長さが1より大きい 'col'引数を取ることができます... –

答えて

1

col,ltyおよびlwdはベクター化されている。

R6cl <- lm(log(y) ~ x, data = R6) ## don't use $ in formula 
pR6cl <- predict(R6cl, interval = "confidence") 
plot(log(y) ~ x, data = R6) ## Read `?plot.formula` 
matlines(R6$x, pR6cl, lwd = 2, lty = c(1, 2, 2), col = c(1, 2, 2)) 

このコードで生成される内容は、Piecewise regression with a quadratic polynomial and a straight line joining smoothly at a break pointで確認できます。

$をモデル式に使用することをお勧めしない理由がわからない場合は、Predict() - Maybe I'm not understanding itをお読みください。


他の読者のための側通知

OPはxがソートされたデータセットを有します。 xがソートされていない場合は、まずソートしてください。詳細については、Messy plot when plotting predictions of a polynomial regression using lm() in Rを参照してください。

+0

将来のユーザのために:私は両方の答えを試して、両方とも希望のプロットを生成しました。私はZheyuan Liの方法を最も効率的な方法として受け入れましたが、どちらもうまく機能します。 – Jesse001

1

方法について:

a = 1:10 
b = c(2,1,2,4,5,5,3,7,4,10) 

R6cl <- lm(log(b)~a) 
pR6cl <- predict(R6cl, interval = "confidence") 
plot(a, log(b), type = "p") 
lines(a, pR6cl[,1], lty = 1, col = "black") 
lines(a, pR6cl[,2], lty = 2, col = "gray") 
lines(a, pR6cl[,3], lty = 2, col = "gray") 

与える:

plot