회귀 직선의 시각화
데이터의 산점도와 회귀 직선은 plot( )을 사용해 그릴 수 있다. 다음 코드에서 coef( )는 선형 회귀 모델의 절편과 기울기를 추출하는 함수며, abline( )은 주어진 절편과 기울기로 그래프를 그리는 함수임을 기억하기 바란다.
> plot(cars$speed, cars$dist) > abline(coef(m))
그래프에 추정값의 신뢰 구간을 포함하는 방법은 다음과 같다. 먼저 speed의 최솟값, 최댓값을 찾는다.
> summary(cars$speed)
Min. 1st Qu. Median Mean 3rd Qu. Max.
4.0 12.0 15.0 15.4 19.0 25.0
이 값의 범위에 대해 신뢰 구간을 구한다.
> predict(m, + newdata=data.frame(speed=seq(4.0, 25.0, .2)), + interval="confidence") fit lwr upr 1 -1.8494599 -12.329543 8.630624 2 -1.0629781 -11.391450 9.265494 3 -0.2764964 -10.453842 9.900849 4 0.5099854 -9.516740 10.536711 5 1.2964672 -8.580168 11.173102 6 2.0829489 -7.644150 11.810048 ...
마지막으로 ‘6.7 행렬에 저장된 데이터 그리기(matplot, matlines, matpoints)’ 절에서 설명한 matplot( ), matlines( )를 사용해 차트를 그린다. 아래에 이 모든 단계를 한 번에 보였다.
> speed <- seq(min(cars$speed), max(cars$speed), .1) > ys <- predict(m, newdata=data.frame(speed=speed), interval="confidence") > matplot(speed, ys, type='n') > matlines(speed, ys, lty=c(1, 2, 2), col=1) # 선형 회귀 식은 직선, 신뢰 구간은 점선