함께하는 데이터 분석

[R] ggplot2 패키지로 그래프 그리기 본문

데이터분석 공부/R

[R] ggplot2 패키지로 그래프 그리기

JEONGHEON 2022. 1. 20. 15:06

안녕하세요!

 

오늘은 R의 패키지인 ggplot2를 이용하여 여러 가지 그래프를 그리는 방법을 알려드리겠습니다!

 

그럼 시작하겠습니다

함수 내용
geom_point() 산점도
geom_col() 막대그래프 - 요약표(평균)
geom_bar() 막대그래프 - 원자료(빈도)
geom_line() 선(시계열) 그래프
geom_boxplot() 상자 그림

 

ggplot2 설치 및 실행

install.packages("ggplot2")
library(ggplot2) #ggplot2 실행

library(dplyr) #dplyr 실행

산점도 그리기

# 산점도 그리기
ggplot(data = mpg, aes(x = displ, y= hwy)) + geom_point()

<mpg데이터에 x축 displ y축 hwy 산점도 그래프>

이때 x축과 y축을 조절해서 보고 싶다면?

 

# 축 범위 조절
ggplot(data = mpg, aes(x = displ, y= hwy)) + 
  geom_point() +
  xlim(1,6) +
  ylim(10, 35)

<x축 범위를 1에서 6, y축 범위를 10에서 35로 조절>

 

막대 그래프 그리기 - 집단 간 차이 표현하기

1. 평균 막대그래프 그리기

# 평균 막대 그래프 그리기
new_mpg <- mpg %>% 
  group_by(drv) %>% 
  summarise(mean_hwy = mean(hwy))

new_mpg #반드시 정리 후 ggplot 사용하기

ggplot(data = new_mpg, aes(x = drv, y = mean_hwy)) +
  geom_col()

이때 크기 역순으로 표현하고 싶다면

# 크기 역순으로 정렬하기
ggplot(data = new_mpg, aes(x = reorder(drv, mean_hwy), y = mean_hwy)) +
  geom_col()

 

2. 빈도 막대 그래프 그리기

# 빈도 막대 그래프 그리기
ggplot(data = mpg, aes(x = drv)) +
  geom_bar() #빈도(갯수)라 y설정 필요 없음

 

시계열 그래프 그리기

# 시계열 그래프 그리기
ggplot(data = economics, aes(x = date, y = unemploy)) +
  geom_line()

상자 그림 그래프 그리기

# 상자 그림 그리기
ggplot(data = mpg, aes(x = drv, y = hwy)) + geom_boxplot()

여기서 박스 하단이 Q1, 중간 줄이 Q2(중위수), 박스 상단이(Q3)이고 

 

f의 박스플롯 위아래의 8개 점이 이상치(outlier)입니다.

 

이상치에 대한 공부는 바로 뒤에 할 예정이니 기다려주세요!

 

여기까지 통계 분석을 위한 그래프의 대표적인 것들을 공부해 봤습니다.

 

그럼 안녕~