본문 바로가기

데이터 분석/R

Part Ⅷ: 데이터 시각화

geom_point() geom_col() geom_bar() geom_line() geom_boxplot()
산점도 데이터 가공
→ 평균 막대 그래프
데이터 원자료
→ 빈도 막대 그래프
시계열 자료 표현 데이터 분포 표현

 

  • Cheatsheet : 패키지 사용법을 요약한 매뉴얼 참고. R Studio → Help → Cheatsheet → Data Visualization wiht ggplot
  • The R Graph Gallery

 

  • ggplot() vs qplot()
    • qplot() : 전처리 단계 데이터 확인용
    • ggplot() : 최종 보도용. 색, 크기, 폰트 등 세부 조작 가능
  • ggplot_syntax & layer structure

이미지 출처  : 「Do It! 쉽게 배우는 R 데이터 분석 pg. 183」

 


<Exercises>

[ ⅰ. 산점도 pg. 188 ]

  • Q1. mpg 데이터의 cty(도시 연비) hwy(고속도로 연비) 간에 어떤 관계가 있는지 알아보려고 합니다. x축은 cty, y축은 hwy 산점도를 만들어 보세요.

  • Q2. 미국 지역별 인구통계 정보를 담은 ggplot2 패키지의 midwest 데이터를 이용해서 전체 인구와 아시아인 인구 간에 어떤 관계가 있는지 알아보려고 합니다. x축은 poptotal(전체 인구), y축은 popasian(아시아인 인구)으로 산점도를 만들어 보세요. 전체 인구는 50 이하, 아시아인 인구는 1 이하인 지역만 산점도에 표시되게 설정하세요.

더보기
library(ggplot2)

# Q1
mpg <- as.data.frame(ggplot2::mpg)
ggplot(data=mpg, aes(x=cty, y=hwy)) + geom_point()

# Q2
midwest <- as.data.frame(ggplot2::midwest)
ggplot(data=midwest, aes(x=poptotal, y=popasian)) + geom_point() +
  xlim(0, 500000) + ylim(0, 10000)

 


[ ⅱ. 막대 그래프 pg. 193 ]

  • Q1. 어떤 회사에서 생산한 "suv" 차종의 도시 연비가 높은지 알아보려고 합니다. "suv" 차종을 대상으로 평균 cty(도시 연비) 가장 높은 회사 다섯 곳을 막대 그래프로 표현해 보세요. 막대는 연비 높은 순으로 정렬하세요.

  • Q2. 자동차 중에서 어떤 class(자동차 종류) 가장 많은지 알아보려고 합니다. 자동차 종류별 빈도를 표현한 막대 그래프를 만들어 보세요.

더보기
library(ggplot2)
library(dplyr)

# Q1
mpg <- as.data.frame(ggplot2::mpg)

mpg_suv_cty <- mpg %>% 
  filter(class == "suv") %>%
  group_by(manufacturer) %>% 
  summarise(mean_cty = mean(cty)) %>%
  arrange(desc(mean_cty)) %>% 
  head(5)

ggplot(data=mpg_suv_cty, aes(x=reorder(manufacturer, -mean_cty), y=mean_cty)) + geom_col()


# Q2
ggplot(data = mpg, aes(x=class)) + geom_bar()

 


[ ⅲ. 선(시계열) 그래프 pg. 195 ]

economics 데이터를 이용해서 분석 문제를 해결해 보세요.

  • Q1. psavert(개인 저축률)가 시간에 따라서 어떻게 변해왔는지 알아보려고 합니다. 시간에 따른 개인 저축률의 변화를 나타낸 시계열 그래프를 만들어 보세요.

더보기
library(ggplot2)

ggplot(data = economics, aes(x=date, y=psavert)) + geom_line()

 


[ ⅳ.  상자 그림 pg. 198 ]

mpg 데이터를 이용해서 분석 문제를 해결해 보세요.

  • Q1. class(자동차 종류)"compact", "subcompact", "suv"인 자동차의 cty(도시 연비)가 어떻게 다른지 비교해보려고 합니다. 세 차종의 cty를 나타낸 상자 그림을 만들어보세요.

더보기
library(ggplot2)
library(dplyr)

# Q1
mpg_class_cty <- mpg %>% select(class, cty) %>% filter(class %in% c("compact", "subcompact", "suv"))
ggplot(data = mpg_class_cty, aes(x=class, y=cty)) + geom_boxplot()  

 

 

 

 

교재 : 「Do it! 쉽게 배우는 R 데이터 분석

티스토리에서 R 코드블럭 적용하기