더북(TheBook)

그래프 유형(type)

type은 plot( )으로 데이터를 그래프로 그릴 때 그래프 유형을 지정하는 옵션이다.

표 6-9 그래프 유형

그래프 유형 지정

의미

plot(X, Y, type)

•X, Y를 그리되 그래프의 유형을 type으로 지정한다.

•type 중 자주 사용하는 값으로는 p(점), l(선), b(점과 선 모두), o(점과 선을 중첩하여 그림), n(아무것도 그리지 않음)이 있다.

•b와 o는 점과 선을 모두 사용한다는 점에서 유사해 보이지만, b는 점과 선이 만나는 점에서는 점 또는 선 중 하나만 보인다. 반면 o는 점 그래프를 그리고 그 위에 선 그래프를 중첩하여 그린다.

•n은 데이터를 그리지는 않지만 새로운 그래프를 초기화하는 역할을 한다. n을 사용할 경우 데이터는 이 장의 뒤에서 배울 lines( ), points( ) 등으로 그린다.

그래프 유형을 지정하는 예를 살펴보기에 앞서 cars 데이터 셋에 관해 알아보자. cars 데이터는 1920년대에 조사된 데이터로, 차량이 달리는 속도와 그 속도에서 브레이크를 잡았을 때 제동 거리를 측정한 데이터다.

> data(cars)
> str(cars)
'data.frame': 50 obs. of 2 variables:
 $ speed: num 4 4 7 7 8 9 10 10 10 11 ...
 $ dist : num 2 10 4 22 16 10 18 26 34 17 ...
> head(cars)
  speed dist
1     4    2
2     4   10
3     7    4
4     7   22
5     8   16
6     9   10

다음은 cars를 plot( )한 예다.

> plot(cars)
그림 6-8 cars 데이터의 산점도
그림 6-8 cars 데이터의 산점도

속도와 제동 거리는 선형 상관관계가 있으리라는 것을 쉽게 짐작할 수 있다. 그렇다면 점으로 데이터를 표시하는 것보다는 꺾은선으로 표시하는 것이 낫지 않을까? type=“l”을 지정하여 꺾은선 그래프를 그릴 수 있다.

> plot(cars, type="l")
그림 6-9 cars 데이터의 꺾은선 그래프
그림 6-9 cars 데이터의 꺾은선 그래프

관찰된 점들과 선을 모두 그리려면 type=“b”를, 중첩하여overlapped 그리려면 type=“o”를 지정한다. 이 둘은 점과 선을 모두 사용한다는 점은 비슷하지만, b는 점과 선이 중첩되지 않으며 o는 점 그래프를 그린 뒤 그 위에 꺾은선 그래프를 중첩하여 그리는 차이가 있다. 다음은 이 두 가지 경우의 예를 보여준다.

> plot(cars, type="b")
> plot(cars, type="o")
그림 6-10 type을 사용한 그래프 유형 지정
그림 6-10 type을 사용한 그래프 유형 지정 type="b" / type="o"

그림 6-10을 보면 같은 주행 속도에 대해 두 개 이상의 제동 거리가 있는 경우가 많아 속도에 따른 제동 거리의 추세가 잘 드러나지 않는다. 이 문제를 해결하기 위해 tapply( )를 사용해보자. 각 speed마다 평균 dist를 tapply를 사용해 계산한 다음 이를 plot( )하면 된다.

> tapply(cars$dist, cars$speed, mean)
       4        7        8        9       10       11       12
 6.00000 13.00000 16.00000 10.00000 26.00000 22.50000 21.50000
      13       14       15       16       17       18       19
35.00000 50.50000 33.33333 36.00000 40.66667 64.50000 50.00000
      20       22       23       24       25
50.40000 66.00000 54.00000 93.75000 85.00000
> plot(tapply(cars$dist, cars$speed, mean), type="o", cex=0.5, xlab="speed", ylab="dist")
그림 6-11 주행 속도별 평균 제동 거리
그림 6-11 주행 속도별 평균 제동 거리
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.