2011-12-03 53 views
1
y<-c(0.0100,2.3984,11.0256,4.0272,0.2408,0.0200); 
x<-c(1,3,5,7,9,11); 
d<-data.frame(x,y) 
myLm<-lm(x~y**2,data=d) 
plot(d) 
lines(x,lm(y ~ I(log(x)) + x,data=d)$fitted.values) 
lines(x,lm(y ~ I(x**2) + x,data=d)$fitted.values) % not quite right, smooth plz 

滑らかなプロットでなければなりません。線形回帰プロット非線形プロットR

enter image description here

ヘルパー質問

  1. What algorithm is used in linear regression?
  2. Explain least squares plotting with Ones -matrix
+0

"それにもかかわらず、ポイントやコンプライアンスの" とは何を意味するのでしょうか? –

+1

彼は何度も投稿を編集し、自分の言葉を変えました。AndresTと私は昨晩助けようとしましたが、問題の条件はずっと変わっていません。 –

答えて

9

predictを使用して、フィッティングされたポイント間の予測を補間する。

d <- data.frame(x=seq(1,11,by=2), 
       y=c(0.0100,2.3984,11.0256,4.0272,0.2408,0.0200)) 
lm1 <-lm(y ~ log(x)+x, data=d) 
lm2 <-lm(y ~ I(x^2)+x, data=d) 
xvec <- seq(0,12,length=101) 
plot(d) 
lines(xvec,predict(lm1,data.frame(x=xvec))) 
lines(xvec,predict(lm2,data.frame(x=xvec))) 

enter image description here

+0

はい、彼は最終的に彼が望むすべてが放物線であることを編集した後、x軸の点列上のpredict()が正しい答えです。彼の最初のフィットがまだyをyの関数としてモデル化していることに注意してください。しかたがない。私は彼が今言及していることを更新すると確信しています。 –

+0

1つの独立した変数ではなく、複数の変数がある場合はどうすればよいですか? –

+0

@FrankWANG:新しい質問を投稿し、これを参照し、適切な詳細を提示する必要があります(例:再現可能な質問:http://tinyurl.com/reproducible-000)。簡単な答えは、(1)表面プロットを生成するか、 (2)予測値の1つを除くすべての予測値を特定の値に保った状態で、1つまたは複数の予測線(またはサブプロット)を描画する。 –

2

のようなもの:

plot(d)  
abline(lm(x~y**2,data=d), col="black") 
(途中で暗示されたような線形、質問が最初に依頼された場合)

あなたは私が考えて探しているもののためにそれ

を行います:ディルクによって示唆したよう

lines(smooth.spline(x, y)) 

が動作する可能性があります。

+0

リグレッサーが二乗されている線形モデルにフィットしているとは限りません。 –

+0

@DirkEddelbuettelがそれを編集しました。 Txs – aatrujillob

2

あなたのプログラムに付属している「はじめにR」マニュアルの「付録A:サンプルセッション」でしばらく時間を費やす必要があります。しかし、ここで開始

R> y<-c(0.0100,2.3984,11.0256,4.0272,0.2408,0.0200); 
R> x<-c(1,3,5,7,9,11); 
R> d<-data.frame(x,y) 
R> myLm<-lm(x~y**2,data=d) 
R> myLm 

Call: 
lm(formula = x ~ y^2, data = d) 

Coefficients: 
(Intercept)   y 
     6.434  -0.147 

であり、我々は(私は今xyの役割のあなたの珍しい反転を補正する)としてこれをプロットすることができます:あなたが必要

R> plot(d) 
R> lines(d$y,fitted(myLm)) 

enter image description here

+0

... err二次回帰、これは線形です。 – hhh

+2

それだけです。変数の非線形変換に*線形モデル*を当てはめています。 'x2 < - x^2'を作成し、' y〜x2'を回帰して '(y、x2)'空間にプロットすることができます。 *非線形回帰*が必要な場合は、 'nls()'のような別の関数が必要です。またはスプライン。または加法モデル。または、または、または... –

+0

今質問を見て、それは今明らかです。あいまいな文章はありません。私は達成しようとしているものを一つしか持っていません。 – hhh

6

必須ggplot2方法:

library(ggplot2) 
qplot(x,y)+stat_smooth(method="lm", formula="y~poly(x,2)", se=FALSE) 

enter image description here

+0

同じ絵にたくさんのプロットを入れることは可能でしょうか?これは明らかにいくつかの異なる環境ですので、私はスタイル 'plot(1:10,1:10)を使うことはできません。 (1:10,1:10 * 2) 'など – hhh

+1

はい、余分なレイヤーや美学を加えるだけです。例えば' dfr James

+1

また、ggplot2は基本グラフィックスではなくグリッドグラフィックスシステムを使用しているため、コマンドとパラダイムは異なります。 .nz/ggplot2 / – James

関連する問題