R 데이터 분석 관련하여 책을 보다가 시각화에 대한 흥미로운 내용이 있어 공유합니다.
보통 R에서 시각화를 할 때는 'ggplot2' 패키지를 주로 사용하는데 오늘은 기존의 시각화 그래프와는 다른 반응형 그래프 패키지 'plotly'와 'dygraphs'에 대해 소개해드리겠습니다.
반응형 그래프 (interactive graph)란?
- 마우스 움직임에 따라 반응하며 실시간 형태가 변하거나 세부 정보를 보여주는 그래프
반응형 그래프 만들기
Sample data : gapminder (국가별 경제 수준과 평균 수명 동향)
# R query
# 패키지 다운로드
install.packages('plotly')
library(plotly)
library(ggplot2)
library(dplyr)
# 데이터 다운로드
install.packages("gapminder")
library(gapminder)
# 1977년대 대륙, 인구별 gdp 상승 및 평균수명
p <- gapminder %>%
filter(year==1977) %>%
ggplot( aes(gdpPercap, lifeExp, size = pop, color=continent)) +
geom_point() +
theme_bw() # 배경 흰색
ggplotly(p)
# interactive graph
시계열 반응형 그래프 만들기
Sample data : lungDeaths (연도별 남녀 폐암 사망자수)
# R query
# 패키지 다운로드
install.packages("dygraphs")
library(dygraphs)
# 연도별 남녀 폐암 사망자수 데이터
lungDeaths <- cbind(mdeaths, fdeaths)
dygraph(lungDeaths)
# 범위 설정 추가
dygraph(lungDeaths) %>% dyRangeSelector()
# 시계열 interactive graph
# 그래프 옵션 추가하기
dygraph(lungDeaths) %>%
dySeries("mdeaths", label = "Male") %>% # Label 표시
dySeries("fdeaths", label = "Female") %>%
dyOptions(stackedGraph = TRUE) %>% # 색 채우기
dyRangeSelector(height = 20) # height 설정
# 시계열 예측 그래프
hw <- HoltWinters(ldeaths) # 예측모델 Holt - Winters
predicted <- predict(hw, n.ahead = 72, prediction.interval = TRUE) # 예측값
# 예측 그래프
dygraph(predicted, main = "Predicted Lung Deaths (UK)") %>%
dyAxis("x", drawGrid = FALSE) %>%
dySeries(c("lwr", "fit", "upr"), label = "Deaths") %>%
dyOptions(colors = RColorBrewer::brewer.pal(3, "Set1"))
이상 간단한 인터랙티브 그래프에 대한 설명과 예시였고 더 자세한 공부를 원하신다면 아래의 책이나 rstudio github에서 확인하실 수 있습니다.
References
반응형
'Programming > R' 카테고리의 다른 글
R 연습 사이트 추천 (공부, 예제) (0) | 2022.06.10 |
---|---|
[R] 데이터 전처리 - dplyr 패키지 (0) | 2022.04.24 |
[R] 통계 분석 및 가설 검정 (t 검정, 상관분석) (0) | 2021.06.27 |
[ R ] 그룹별 누적 합계 구하기 (2) | 2021.04.06 |
[ R ] 코딩테스트 예제 날짜별 누적합 구하기 (0) | 2021.03.31 |
댓글