R 에서 단순회귀분석 결과 보는 법

R 에서 단순회귀분석 결과 보는 법

실습

회귀분석하는 법

head(faithful)

R에서 내장데이터 faithful을 불러와 head() 함수를 통해 확인해보자.

2.png 데이터만 봐서는 두 변수 사이에 선형관계가 있는지 확인하기 어려우므로 그림을 그려 확인해보자.

win.graph(6,3)
par(mfrow=c(1,2))
plot(faithful, main ="faithful",asp=T)
plot(faithful, main ="faithful")
points(head(faithful),col='red',pch=19)

12.png 왼쪽은 가로세로의 비율이 일정하도록 맞춰놓은 것인데, 정확한 그래프지만 보기가 어렵다. 오른쪽은 보기 편하도록 비율을 조정한 그래프로, 그 중에서 빨간 점들은 head() 함수로 확인한 처음 6번째까지의 데이터다.

점이 찍힌 양상을 보면 두 변수가 선형관계를 가진다고 짐작할 수 있으므로 단순회귀분석을 통해 확인해보도록 하자. 회귀분석을 위해서는 lm() 함수에 선형모형을 입력해야하는데, 예제의 경우 eruptionswaiting을 분석하므로 아래와 같이 입력한다.

out1<-lm(waiting~eruptions,data=faithful); summary(out1)

결과해석

summary() 함수를 사용하면 회귀분석 결과에 대한 요약이 출력된다.

3.png

결과에서 사각형으로 강조되지 않은 부분은 상대적으로 중요하지 않고, 특히 단순회귀분석에선 더더욱 신경쓸 필요가 없다.

시각화

그러면 이제 회귀직선을 직접 그어서 회귀분석이 정말 잘 되었는지 눈으로 확인해보도록 하자.

win.graph(6,3)
par(mfrow=c(1,2))
plot(faithful, main ="faithful",asp=T)
abline(out1,col='#47C83E',lwd=2)
plot(faithful, main ="faithful")
abline(out1,col='#47C83E',lwd=2)

34.png

위 그래프에서 녹색이 바로 회귀직선으로써, 데이터들을 적절하게 관통함을 확인할 수 있다.

코드

아래는 전체 예제코드다.

head(faithful)
 
win.graph(6,3)
par(mfrow=c(1,2))
plot(faithful, main ="faithful",asp=T)
plot(faithful, main ="faithful")
points(head(faithful),col='red',pch=19)
 
out1<-lm(waiting~eruptions,data=faithful); summary(out1)
 
win.graph(6,3)
par(mfrow=c(1,2))
plot(faithful, main ="faithful",asp=T)
abline(out1,col='#47C83E',lwd=2)
plot(faithful, main ="faithful")
abline(out1,col='#47C83E',lwd=2)

같이보기

댓글