윈스턴 챙이 쓰고 이제원이 옮긴 O'Reilly의 "R Graphics Cookbook"에 나은 예제를 썼다. 아래 소스를 직접 테스트해 보고 싶으면 데이터 라이브러리를 호출하기 바란다.

 

> install.packages("gcookbook")
> library(gcookbook)

 

R에서 두 개의 변수를 각각 x축, y축에 넣고 점으로 된 그래프인 산점도(scatterplot)을 그리려면 일단 기본 그래픽 함수로도 할 수 있다. 코드는

 

> plot(mtcars$wt, mtcars$mpg)

 

이렇게 쓰고 그림은 아래와 같이 나온다.

 

기본적인 요소만 갖춘 매우 심플한 그래프라 할 수 있다. 저 그래프가 너무 심심하다고 생각했는지 누군가 좀 더 예쁘게 그래프를 그려주는 라이브러리를 개발했다. 바로 'ggplot2'이다. 일단 라이브러리 설치부터 하자.

 

> install.packages("ggplot2")
> library(ggplot2)

ggplot2를 이용해 산점도를 그려보면 다음과 같다. 코드는

 

> ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point()

 

 

문법이 좀 독특하다. ggplot() 함수 안에 데이터와 aes()함수를 쓰고, aes() 안에 x축 변수와 y축 변수 이름을 쓴다.  aes란 aesthetic의 줄인 말이다. ggplot() 함수만으로는 그리려는 그래프가 무슨 그래프인지 정해지지 않았다. 당연히 ggplot() 함수까지만 쓰면 화면에 아무 그림도 없다. 산점도를 그리려면 ggplot() 뒤에 +를 쓰고 geom_point() 함수를 써야 한다.

 

ggplot2의 기본 형식은 이런식이다.ggplot() 함수를 먼저 쓰고, 그 다음에 geom_point() 함수 같은 함수를 써서 그리려고 하는 게 산점도인지 선 그래프인지 결정한다.

Posted by jujaeuk
,