Data visualization/데이터시각화(R)
데이터시각화 R_ggplot2_mpg data
뉴욕킴
2023. 9. 3. 22:03
mpg data: 1999년부터 2008년까지 인기 차종의 연비에 대한 자료 분석
1. 패키지 설치
install.packages("tidyverse")
2. 라이브러리 불러오기
library(tidyverse)
3. 데이터 불러오기
mpg
# A tibble: 234 × 11
manufacturer model displ year cyl trans drv cty hwy fl
<chr> <chr> <dbl> <int> <int> <chr> <chr> <int> <int> <chr>
1 audi a4 1.8 1999 4 auto… f 18 29 p
2 audi a4 1.8 1999 4 manu… f 21 29 p
3 audi a4 2 2008 4 manu… f 20 31 p
4 audi a4 2 2008 4 auto… f 21 30 p
5 audi a4 2.8 1999 6 auto… f 16 26 p
6 audi a4 2.8 1999 6 manu… f 18 26 p
7 audi a4 3.1 2008 6 auto… f 18 27 p
8 audi a4 qu… 1.8 1999 4 manu… 4 18 26 p
9 audi a4 qu… 1.8 1999 4 auto… 4 16 25 p
10 audi a4 qu… 2 2008 4 manu… 4 20 28 p
# ℹ 224 more rows
# ℹ 1 more variable: class <chr>
# ℹ Use `print(n = ...)` to see more rows
4. x,y 설정 후 geom_point()를 이용해 산점도 그리기
ggplot(mpg, aes(x = displ, y = hwy)) +
geom_point()
# gglot 함수의 세가지 요소
- data
- aesthetic mappong
- 적어도 하나의 layer-geom 함
5. 클래스 확인
table(mpg$class)
2seater compact midsize minivan pickup
5 47 41 11 33
subcompact suv
35 62
6. 칼라 지정 color=class
ggplot(mpg, aes(x = displ, y = hwy, color=class)) + geom_point()
7. shape 드라이브별로 다르게 지정
ggplot(mpg, aes(x = displ, y = hwy, shape=drv)) + geom_point()
8. table 생성
table(mpg$cyl)
4 5 6 8
81 4 79 70
class(mpg$cyl)
[1] "integer"
ggplot(mpg, aes(displ, cty, size = cty)) + geom_point()
ggplot(mpg, aes(displ, cty, color = cty)) + geom_point()
ggplot(mpg, aes(displ, hwy, color = class)) + geom_point()
class별로 쪼개서 그림 그릴 수 있음
ggplot(mpg, aes(displ, hwy)) + geom_point() +
facet_wrap(~class)
ggplot(mpg, aes(displ, hwy)) + geom_point() + geom_smooth()
회귀분석 라인 그리기 : lm
ggplot(mpg, aes(displ, hwy)) + geom_point() + geom_smooth(method="lm")
- 평균에서 멀어짐 확인
geom 종류
- geom_smooth() : smooth line과 se를 표시
- geom_boxplot() : 상자그림
- geom_histogram(), geom_freqpoly() : 연속변수의 분포
- geom_bar() : 막대그림
- geom_path() : 점들을 자료 순서대로 선으로 연결한 그림
- geom_line() : 산점도에서의 위치에 따라 왼쪽에서 오른쪽 순으로 모든 점들을 연결