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
<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()
'데이터 분석 > R' 카테고리의 다른 글
Part ⅩⅠ: 지도 시각화 (0) | 2021.01.11 |
---|---|
Part Ⅹ: 텍스트 마이닝 (0) | 2021.01.11 |
Part Ⅸ: 한국 복지 패널 데이터 분석 (0) | 2021.01.07 |
Part Ⅶ: 데이터 정제(결측치 / 이상치) (0) | 2021.01.07 |
Part Ⅵ: 데이터 전처리 (0) | 2021.01.06 |
Part Ⅴ: 데이터 분석 기초 (0) | 2021.01.05 |