(통계분석) R

10.12(월) 인터랙티브 그래프

KSY98 2020. 10. 12. 20:33

📚해당 게시글은 '이지스 퍼블리싱' 출판, 데이터 분석가 '김영우'님이 지은 도서 "Do it! 쉽게 배우는 R 데이터 분석" 을 기반으로 작성된 게시글입니다. 저작권 문제 시 게시글을 삭제 하겠습니다 :) 

 

인터랙티브 그래프란, 마우스 움직임에 반응해 실시간으로 형태가 변하는 그래프이다. 이 그래프는 그래프를 자유롭게 조작하면서 관심있는 부분을 자세하게 살펴볼 수 있다. 또한, 그래프를 HTML로 저장하면, 웹 브라우저로 저장이 되기 때문에 R을 사용하지 않는 사람들도 그래프를 조작할 수 있다.

 

- plotly 패키지로 인터랙티브 그래프 만들기

1. 우선, plotly 패키지를 설치하고 로드한다.

2. ggplot() 함수를 이용해 그래프를 만든다. mpg 데이터를 이용해 x축과 y축을 지정해 산점도를 만들고, drv 별로 다른색으로 표현하도록 col = 파라미터를 사용했다.

3. 2번에서 만든 그래프를 ggplotly()에 적용한다.

결과: 사진과 같은 그래프가 만들어지는데, 각각의 점에 마우스를 올려놓으면 해당하는 데이터를 보여준다.

 

+ 산점도가 아닌, 막대그래프를 만들면?

모든 과정은 산점도 그래프를 만드는 방식과 같지만, geom_point()를 geom_bar()로 바꿔주기만 하면 된다.

각각의 막대가 따로 표현되도록(쌓아올린 막대그래프가 아닌) point = "dodge"를 설정해줬다.

이 그래프 역시 마우스를 올리면 해당 데이터가 나타난다.

 

- dygraphs 패키지로 인터랙티브 시계열 그래프 만들기

시계열 그래프는 시간에 따른 데이터의 변화를 표현한 그래프이다. 마우스로 직접 시간 축을 움직이며 시간에 따른 데이터의 변화를 살펴 볼 수 있다.

우선, dygraphs 패키지를 설치하고 로드해준다.

이번에는 ggplot2 패키지에 내장된 economics 데이터를 이용해 분석했다.

economics 데이터는 실업자 수, 저축률 등 1967~2015년 미국의 월별 경제 지표를 담은 데이터이다.

시계열 그래프는 데이터가 시간 순서 속성을 지니는 xts 데이터 타입으로 되어 있어야 한다.

따라서 economics 데이터와 xts를 불러와 economics 데이터의 unemploy를 날짜(date)순으로 나타낸 xts 타입으로 변경했다.

이 데이터를 dygraph()에 적용하면 시계열 그래프가 나타나고, 그래프의 선 위에 마우스를 올리면 날짜와 실업자 수가 표시된다.

 

+ 날짜 범위를 선택할 수 있는 기능을 추가시켜보자!

방법은 간단하다! 위에서 생성한 그래프에서 %>%를 이용해 dyRangeSelector()을 추가해주면 그래프 아래에 날짜 범위를 선택할 수 있는 기능이 추가된다. 마우스를 이용해 범위를 정하고, 좌우로 움직이면 시간에 따른 데이터의 변화를 볼 수 있다.

 

- 여러 값 표시하기

인터랙티브 시계열 그래프에 여러 값을 동시에 표현할 수 있다.

eco_a에 날짜순에 따른 저축률 데이터를 지정하고, eco_b에는 날짜순에 따른 실업자 수를 지정했다.

이때, 실업자 변수는 값이 1,000명 단위로 되어있는데, 저축률 변수와 비교하기 쉽도록 1,000으로 나누어 100만명 단위로 수정했다.

eco_a 데이터와 eco_b 데이터를 cbind() 함수를 이용해 결합했고, 변수명을 알아보기 쉽도록 psavert(저축률)과 unemploy(실업자 수)로 바꾼 후 dyraph()dyRangeSelector()을 연결했다.

그 결과, 저축률과 실업자 수가 다른 색으로 함께 표현된 인터랙티브 시계열 그래프가 생성되었고, 선 위에 마우스를 대면 해당 데이터가 뜨고, 그래프 밑에 바를 이용해 날짜 범위를 지정 할 수 있었다.

 

다음 단원에서는 SPSS와 보건통계학을 공부하며 배웠던 t검정과 상관분석을 R로 시행하는 방법에 대해 알아보자! 😊