본문 바로가기

프로그래밍/R

[R] 시계열 그래프 그리기

1. 시계열그림(time-series plot)


  시계열 그림은 시간에 따른 자료의 변화나 추세를 파악하는 데 적절하다. 

  위 그림은 5월 대선 후보자들의 1달 검색량 추이를 보여주는 구글 트렌드(Google Trend)이다.



2. 시계열 그래프 그리기(ggplot2 라이브러리 이용)

 1995

1996 

1997 

1998 

1999 

2000 

2001 

2002 

2003 

2004 

2005 

2006 

2007 

2008 

2009 

2010 

2011 

2012 

2013 

2014 

2015 

2016 

 13

9 

32 

38 

54 

36 

39 

47 

56 

14 

30 

41 

30 

8 

16 

5 

15 

21 

13 

32 

26 

27

(출처 : 위키디피아)

위 표는 야구선수 이승엽의 홈런 개수다. 이를 이용해 시계열 그래프를 그려보도록 하자. 


2-1 데이터프레임 만들기

  1. # 1. 방법 1 : 데이터프레임 만들기
  2. year = seq(1995, 2016)
  3. homerun = c(13, 9, 32, 38, 54, 36, 39, 47, 56, 14, 30, 41, 30, 8, 16, 5, 15, 21, 13, 32, 26, 27)
  4. data_homerun = data.frame(year, homerun)
  5.  
  6. # 2. 방법 2 : 데이터프레임 만들기
  7. data_homerun = data.frame(year = c(1995:2016), homerun)
  8. data_homerun


첫번째 방법은 수작업이고

두번째 방법은 c()를 이용해 1씩 증가하는 연도를 좀 더 세련되게 만들었다. 홈런은 매년 다르니 수작업으로 기입했다.

<이렇게 예쁜 결과를 얻을 수 있다.>

 

2-2 기본사항 세팅하기



  1. # 2. ggplot2 라이브러리 이용하기
  2. library(ggplot2)
  3. windows()                  
  4. ggplot(data_homerun, aes(x=year, y=homerun)) + geom_line(color="black", size=2)



2-3 그래프 제목 및 x축, y축 설정하기


위 그래프에서는 x축만 간격을 건드려줬다.



  1. ggplot(data_homerun, aes(x=year, y=homerun)) + geom_line(linetype="solid", color="black", size=2)
  2.  + ggtitle("이승엽 홈런 개수 시계열 그래프")
  3.  + scale_x_continuous(breaks=seq(min(data_homerun$year), max(data_homerun$year), 2))

위 그래프에서는 x축만 간격을 건드려줬다.


2-4 그래프 제목 세부설정하기

< 글자크기 :30, 글꼴 : bold-italic을 적용한 모습>



  1. ggplot(data_homerun, aes(x=year, y=homerun)) + geom_line(linetype="solid", color="black", size=2) +
  2.  
  3. # x축 세부설정하기
  4. scale_x_continuous(breaks=seq(min(data_homerun$year), max(data_homerun$year), 2)) +
  5.  
  6. #제목 세부설정하기
  7. ggtitle("이승엽 홈런 개수 시계열 그래프") +
  8. theme(plot.title=element_text(family="NanumGothicCoding", size=30, vjust=2, face="bold.italic"))


참고

1R, Python 분석과 프로그래밍  http://rfriend.tistory.com/73

2. 통계학(류근관, 제3판)

3. 데이터분석하는 게임회사 직원의 이야기 (http://www.dodomira.com/2016/03/24/r%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%9C-%EA%BA%BD%EC%9D%80%EC%84%A0%ED%98%95-%EC%9B%90%ED%98%95-%EC%98%81%EC%97%AD%ED%98%95-%EB%B6%84%EC%82%B0%ED%98%95-%EA%B7%B8%EB%9E%98%ED%94%84-%EA%B7%B8%EB%A6%AC/)

4. ngee (http://ngee.tistory.com/726)


http://www.dodomira.com/2016/03/18/ggplot2-%EA%B8%B0%EC%B4%88/


'프로그래밍 > R' 카테고리의 다른 글

[통계+R] 카이제곱검정  (2) 2017.04.05
서울시 분실물 공공데이터 CSV 읽어들이기  (0) 2017.03.12