라일락 꽃이 피는 날

[R] 그래프 그리기 본문

데이터 분석/R

[R] 그래프 그리기

eunki 2021. 6. 25. 18:20
728x90

그래프 그리기

library(ggplot2)

 

geom_point() 산점도
geom_col() 평균 막대 그래프 
geom_bar() 빈도 막대 그래프
geom_line() 선 그래프
geom_boxplot() 상자 그림

 

 

 

1. 산점도(Scatter Plot)

데이터를 x축과 y축에 점으로 표현한 그래프로, 변수 간 관계를 표현할 때 사용한다.

 

 

x축을 displ, y축을 hwy로 지정하여 배경 생성

ggplot(data = mpg, aes(x = displ, y = hwy))

 

 

 

배경에 산점도 추가

ggplot(data = mpg, aes(x = displ, y = hwy)) + geom_point()

 

 

 

x축 범위 3~6으로 지정

ggplot(data = mpg, aes(x = displ, y = hwy)) + geom_point() + xlim(3, 6)

 

 

 

x축 범위 3~6, y축 범위 10~30으로 지정

ggplot(data = mpg, aes(x = displ, y = hwy)) + 
  geom_point() + 
  xlim(3, 6) +
  ylim(10, 30)

 

 

 

2. 막대 그래프 (Bar Chart)

데이터의 크기를 막대의 길이로 표현한 그래프로, 집단 간 차이를 표현할 때 사용한다.

 

 

2-1. 평균 막대 그래프 생성하기 (geom_col)

평균 막대 그래프는 각 집단의 평균값을 막대 길이로 표현한 그래프이다.

데이터를 요약한 평균표를 먼저 만든 후, 평균표를 이용해 그래프를 생성한다.

 

 

집단별 평균표 만들기

df_mpg <- mpg %>%  
  group_by(drv) %>%  
  summarise(mean_hwy = mean(hwy))

 

 

 

그래프 그리기

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

 

 

 

크기 순으로 정렬하기

ggplot(data = df_mpg, aes(x = reorder(drv, -mean_hwy), y = mean_hwy)) + geom_col()

 

 

 

색 채우기

ggplot(data = sex_income, aes(x = ageg, y = mean_income, fill = sex)) + geom_col()

 

 

 

position 변경하기 (기본값 : "stack")

ggplot(data = sex_income, aes(x = ageg, y = mean_income, fill = sex)) + geom_col(position = "dodge")

 

 

 

2-2. 빈도 막대 그래프 생성하기 (geom_bar)

빈도 막대 그래프는 값의 개수(빈도)로 막대의 길이를 표현한 그래프이다.

별도로 표를 만들지 않고 원자료를 이용해 바로 그래프를 생성한다.

ggplot(data = mpg, aes(x = drv)) + geom_bar()

 

 

 

3. 선 그래프 (Line Chart)

데이터를 선으로 표현한 그래프로, 시간에 따라 달라지는 데이터를 표현할 때 사용한다.

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

 

 

 

4. 상자 그림 (Box Plot)

데이터의 분포를 직사각형 상자 모양으로 표현한 그래프로, 집단 간 분포 차이를 표현할 때 사용한다.

 

상자 아래 세로선 아래 수염 하위 0~25% 내에 해당하는 값
상자 밑면 1사분위수 (Q1) 하위 25% 위치 값
상자 내 굵은 선 2사분위수 (Q2) 하위 50% 위치 값 (중앙값)
상자 윗면 3사분위수 (Q3) 하위 75% 위치 값
상자 위 세로선 윗 수염 하위 75~100% 내에 해당하는 값
상자 밖 점 표식 극단치 Q1, Q3 밖 1.5 IQR을 벗어난 값
  IQR Q1~Q3간 거리 (사분위 범위)

 

ggplot(data = mpg, aes(x = drv, y = hwy)) + geom_boxplot()

728x90

'데이터 분석 > R' 카테고리의 다른 글

[R] 이상치 정제하기  (0) 2021.06.25
[R] 데이터 정제하기  (0) 2021.06.25
[R] 데이터 전처리 (Preprocessing)  (0) 2021.06.25
[R] 파생 변수 생성  (0) 2021.06.19
[R] 데이터 수정하기  (0) 2021.06.19