시각화/R

▶R로만드는 데이터시각화 :: Hello ggplot2 - ggplot2 시작하기

비주얼라이즈 2014. 4. 26. 15:37



오늘 포스팅은 ggplot2에 대한 내용입니다.


'기초적인 내용이 탄탄해야 응용이 가능하겠구나'라는 생각을 하고,

처음부터 다시 꼼꼼하게 정리해보려고 합니다.








 Hello ggplot2!


R을공부하는데 있어서 'ggplot2'은 꼭 정리해야겠다는 생각을 했습니다.

다음은 ggplot2을 만든 해들리교수와, Rcookbook의 저자인 윈스턴 챙 말입니다.



기본 그래픽 시스템은 그림을 그리기 위해 좋은 툴이지만

ggplot2는 데이터를 이해하는 데 좋은 시각화 툴이다[각주:1]


- Hadley Wichham



 단순한 그래프 이상을 그리고 싶다면 ggplot2로 갈아타는 게 현명하다.

 왜냐하면 기본 그래픽 패키지에는 알아야 하는변경자와 케이스가 한 아름인데반해,

 ggplot2는통일된 인터페이스와 옵션들을 제공하기 때문이다.

 ggplot2를 능숙하게 사용할 수 있게 되면 산점도나 히스토그램, 바이올린 그래프, 지도에까지 응용을 할 수 있다.[각주:2]


- Winston chang







ggplot2 설치 


R에서 다음과 같은 방법으로 ggplot2 패키지를 설치해줍니다.


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

install.packages()로 설치를하고

library()로 사용할 패키지를 로드합니다.



이번 데이터에서 사용할 데이터 : diamonds

diamonds는 ggplot2에 내장되어있는 데이터입니다.

별도로 다운로드 받지않아도 R에서 다뤄볼 수있습니다.







qplot과 ggplot의 특징


qplot과 ggplot을 비교하여 살펴봅니다.



qplot = 빠른 플로팅을 위한 함수
ggplot = 문법을 기준으로 상세한 설정을 할 수 있는 함수


[각주:3]








Basic Graph


ggplot2 패키지를 활용하여 기본적인 그래프를 그리는 과정입니다.



▶산점도 그래프


위와같은 산점도 그래프를 그리는데 아래와 같은 방법을 사용합니다.



##

qplot(data = diamonds, x = carat, y = price, geom = "point")
ggplot(diamonds, aes(carat, price)) + geom_point()




선그래프


동일한 데이터를 이용하여 선그래프 그려보도록 하겠습니다.





qplot(data = diamonds, x = carat, y = price, geom = "line")
ggplot(diamonds, aes(carat, price)) + geom_line()


선 + 점그래프


마찬가지로 동일한 데이터를 이용하되, 선과 점을 함께 그리는 방법입니다.



qplot(data = diamonds, x = carat, y = price, geom = c("point", "line"))
ggplot(diamonds, aes(carat, price)) + geom_line() + geom_point()






ggplot2 +@



ggplot2로 막대그래프를 그릴 때기본설정은 빈도 수'입니다.



qplot(data = diamonds, x = carat, y = price, geom = "point")

ggplot(diamond, aes(carat, price)) + geom_point()



▶연속적인 x축 vs 이산적인 x축

연속적인 x축과 이산적인 x축을 비교해서 살펴봅니다.









?
  1. 전희원, 「Hello ggplot2!」, 2013 [본문으로]
  2. 윈스턴 챙, 『R cookbook』, 이제원 옮김, 2013, 인사이트 [본문으로]
  3. 전희원, 「Hello ggplot2!」, 2013 [본문으로]
  4. [네이버 지식백과] 이산 데이터 [discrete data] (컴퓨터인터넷IT용어대사전, 2011.1.20, 일진사) [본문으로]