2011-12-03 6 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

하나의 독립 변수가 아니라 여러 변수가있을 경우 어떻게해야합니까? –

+0

@FrankWANG : 새로운 질문을 게시하고이 질문을 참조하고 적절한 세부 정보를 제공해야합니다 (예 : 재현 할 수있는 질문 : http://tinyurl.com/reproducible-000). 짧은 대답, 당신은 (1) 서페이스 플로트를 생성하고; (2) 예측 변수 중 하나를 제외한 모든 예측 값을 특정 값으로 유지하면서 하나 이상의 예측 선 (또는 부 그림)을 그립니다. –

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 

이고 (나는 지금 당신의 특별한 x의 역할의 반전과 y 보정 곳) 우리는 다음과 같이이 플롯 할 수 있습니다 : 당신이 필요로하는

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