더북(TheBook)

다각형(polygon)

polygon( )은 다각형을 그리는 데 사용하는 함수다.

표 6-18 다각형

polygon : 다각형을 그린다.

polygon(
  x,       # 다각형의 X 좌표
  y=NULL,  # 다각형의 Y 좌표
  ...
)

polygon( )의 예로 cars 데이터에 선형 회귀를 수행하고 신뢰 구간confidence interval을 polygon( ) 함수를 사용해 그려보는 조금은 복잡하지만 실제적인 예를 살펴보자.

선형 회귀는 종속 변수 y를 하나 또는 그 이상의 설명 변수 X6 로 설명하는 모델을 만드는 방법이다. 선형 회귀가 찾은 결과는 y = ax + ε과 같은 모양이 된다. 선형 회귀는 lm( )과 predict( )를 사용해 수행할 수 있다.

표 6-19 선형 회귀 함수

lm : 데이터로부터 선형 모델을 만든다.

lm(
  formula,  # 종속 변수 ~ 설명 변수
  data      # 포뮬러에 따라 선형 모델을 만들 데이터
)

반환 값은 선형 모델 객체다.

predict.lm : 예측을 수행한다.

predict.lm(
  object,   # 선형 모델 객체
  newdata,  # 예측을 수행할 새로운 데이터
            # 이 값을 생략하면 선형 모델을 만들 때 사용한 데이터가 사용된다.
  # 구간 정보인 none, confidence, prediction은 각각 신뢰 구간을 계산하지 않음, 신뢰 구간,
  # 예측 구간을 뜻한다. 신뢰 구간은 X = x0 값이 주어졌을 때 종속 변수 y의 기댓값의 구간을 뜻한다.
  # 예측 구간은 X=x0 X가 있을 때 개별 Y의 구간을 뜻한다.
  interval=c("none", "confidence", "prediction")
)

cars에 대한 선형 회귀를 수행해보자. lm( )에서 포뮬러는 dist로 주어졌는데, 이는 dist = a + b × speed + ε의 모델을 의미한다. 수식에서 a는 절편, b는 기울기, ε은 dist와 a + b × speed 사이의 차, 즉 오차를 뜻한다.

> (m <- lm(dist ~ speed, data=cars))
Call:
lm(formula = dist ~ speed, data = cars)

Coefficients:
(Intercept)     speed
    -17.579     3.932

회귀 모델(모형)을 적합한 결과 dist = -17.579 + 3.932 × speed + ε의 식이 얻어졌다. 앞에서도 설명했듯이 lm( )으로 만든 모델은 단순히 abline( ) 함수에 넘겨주는 것만으로 그래프에 표시할 수 있다.

> plot(cars)
> abline(m)  # abline()의 reg 인자에 선형 회귀 모델 m이 지정됨
그림 6-22 cars 데이터에 대한 선형 회귀
그림 6-22 cars 데이터에 대한 선형 회귀

6 소문자 x가 아니라 대문자 X를 사용했다는 점에 유의하자. 대문자 X는 벡터 또는 행렬을 의미한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.