참고 : Do it! 쉽게 배우는 R 데이터분석

SQL만 하다가 R 까먹을까봐... R 그래프 스타투
library(ggplot2)
그래프 그릴 때 사용하는 library 먼저 불러줬다
선그래프(line chart) - geom_line()
- 시간에 따라 달라지는 데이터를 표현할 때 주로 이용
- ex) 환율, 주가지수 등 경제 지수 같은 시계열 데이터
ggplot2 패키지에 들어있는 economics 데이터를 이용할 것이다
economics <- as.data.frame(ggplot2::economics)
head(economics)

데이터를 살펴보면, date 열에 날짜 변수가 있는 걸 알 수 있다
x축에는 시간을 나타내는 date, y축에는 실업자 수를 나타내는 unemploy를 지정하고 선 그래프를 그려보자
ggplot(data=economics, aes(x=date, y=unemploy)) + geom_line()

간단하게 살펴보면, 2005년 이후 갑자기 증가했다가, 2010년 이후 다시 감소하는 추세를 알 수 있다
상자그림(box plot) - geom_boxplot()
- 데이터의 분포를 직사각형 상자 모양으로 표현한 그래프
- 데이터의 특징을 더 자세히 이해할 수 있다
여기서는 mpg 데이터를 사용할 것이다
mpg<-as.data.frame(ggplot2::mpg)

구동방식을 나타내는 drv와 고속도로 연비를 나타내는 hwy를 가지고 상자그림을 표현해보자
ggplot(data = mpg, aes( x= drv, y=hwy)) + geom_boxplot()

상자 그림의 값은 사분위수를 이용해 그려진다
그래프를 살펴보면
- 4륜구동은 17~22 사이에 대부분의 자동차가 모여있다.
- 전륜구동(f)는 26~29사이의 좁은 범위에 자동차가 모여있다. 수염 위 아래에 점 표식이 있는 것을 보면 극단치가 존재한다는 것을 알 수 있다
- 후륜구동(r)은 17~24사이의 넓은 범위에 자동차가 분포하고 있다.
상자 그림 | 값 | 설명 |
상자 아래 세로선 | 아랫수염 | 하위 0~25% 내에 해당하는 값 |
상자 밑면 | 1사분위수(Q1) | 하위 25% 위치 값 |
상자 내 굵은 선 | 2사분위수(Q2) | 하위 50% 위치 값(중앙값) |
상자 윗면 | 3사분위수(Q3) | 하위 75% 위치 값 = 상위 25% |
상자 위 세로선 | 윗수염 | 하위 75~100% 내에 해당하는 값 |
상자 밖 점 표식 | 극단치 | Q1, Q3 밖 1.5 IQR을 벗어난 값 |
IQR = Q3-Q1 : Q1과 Q3 사이의 거리
혼자 해보기
• Q1. psavert(개인 저축률)가 시간에 따라서 어떻게 변해왔는지 알아보려고 합니다. 시간에 따른 개인 저축률의 변화를 나타낸 시계열 그래프를 만들어 보세요.
library(ggplot2)
economics <- as.data.frame(ggplot2::economics)
ggplot(data=economics, aes(x=date, y=psavert))+ geom_line()
• Q2. class(자동차 종류)가 "compact", "subcompact", "suv"인 자동차의 cty(도시 연비)가 어떻게 다른지 비교해보려고 합니다. 세 차종의 cty를 나타낸 상자 그림을 만들어보세요.
library(ggplot2)
mpg<-as.data.frame(ggplot2::mpg)
Q2 <- mpg %>% filter(class %in% c("compact","subcompact","suv")
ggplot(data = Q2, aes(x=class, y=cty)) + geom_boxplot()
'R' 카테고리의 다른 글
R - 지도시각화(ggiraphExtra) : 미국 주 별 강력 범죄율 (0) | 2024.07.30 |
---|---|
R - 그래프 살펴보기(텍스트 마이닝) (0) | 2024.07.29 |
R - 그래프 살펴보기(ggplot2 - 산점도, 막대그래프) (2) | 2024.07.13 |
R - 데이터 정체 [결측치, 이상치] (0) | 2024.07.12 |
R - 데이터 추출하기(dplyr : 문제 복습) (0) | 2024.07.11 |