사용데이터 : https://2stndard.tistory.com/68
밀도 분포 플롯
밀도 분포 플롯는 히스토그램의 또 다른 표현 방법이다. 히스토그램은 막대로 도수분포가 표현되기 때문에 다소 딱딱한 감이 있지만 밀도 분포 플롯은 전체 분포가 곡선으로 표현되어 히스토그램보다 부드럽게 표현된다는 장점이 있다. 또 도수분포에 대한 사례수를 직접적으로 사용하는 것이 아니고 확률 밀도 함수에 따른 확률값을 사용하기 때문에 0부터 1사이의 값으로 표현된다는 것이 히스토그램과의 차이다.
ggplot2
에서는 밀도 분포 그래프를 그리기 위해 geom_density()
를 제공한다. geom_density()
은 연속형 일변수 수치 데이터를 표현하는데 사용되는 기하 요소 함수이다. 일변수 수치 데이터의 분포를 확률분포함수로 계산하여 표현한다. 따라서 X값에 따라 계산된 연속 확률 분포값은 확률이기 때문에 1보다 작은 값들이고, 이 값들이 연결되어 표현된다. geom_density()
는 연속 확률 분포를 산출하고 시각화한다. 따라서 앞선 두 함수와는 달리 통계 요소의 기본값이 ’density’로 설정된다.
## df_취업통계를 ggplot 객체로 생성하고 p_density에 저장
p_density <- df_취업률 |>
ggplot()
## p_density객체에 x축을 '취업률'열로 매핑한 geom_density 레이어를 생성
p_density +
geom_density(aes(x = 취업률_계))
## p_density객체에 x축을 '취업률'열로 매핑, 미적 요소 설정한 geom_density 레이어를 생성
p_density +
geom_density(aes(x = 취업률_계), color = 'blue', fill = 'skyblue', linetype = 2, size = 1, alpha = 0.5)
다중 밀도 분포 플롯
다중 밀도 분포 플롯는 변수 변량에 따라 여러개의 밀도 분포 플롯을 그리는 방법을 말한다. 다중 밀도 분포 플롯은 다중화할 변수를 color나 fill에 매핑함으로써 생성할 수 있다.
p_density <- df_취업률 |>
ggplot() +
labs(x = '취업률', y = '분포 확률')
p_density_multi1 <- p_density +
## X축을 취업률_계, color, fill, linetype을 과정구분으로 매핑하고 미적요소를 설정한 geom_density 레이어 추가
geom_density(aes(x = 취업률_계, color = 과정구분, fill = 과정구분, linetype = 과정구분), alpha=0.4, position = 'identity') +
labs(title = '매핑을 사용한 다중 밀도 분포 플롯')
p_density_multi1
앞의 다중 밀도 플롯은 color와 fill로 매핑하여 생성하였지만 facet_wrap()
을 사용하여 각각의 밀도 플롯를 분리할 수도 있다.
p_density +
## X축을 취업률_계로 매핑하고 미적요소를 설정한 geom_density 레이어 추가
geom_density(aes(x = 취업률_계), alpha=0.4, position = 'identity') +
## 대계열별로 다중 밀도 플롯 생성
facet_wrap(~대계열) +
labs(title = 'facet을 사용한 다중 밀도 분포 플롯')
앞의 두가지 다중 밀도 확률 플롯를 모두 사용하면 다음과 같다.
p_density +
## X축을 취업률_계, color, fill, linetype을 과정구분으로 매핑하고 미적요소를 설정한 geom_density 레이어 추가
geom_density(aes(x = 취업률_계, color = 과정구분, fill = 과정구분, linetype = 과정구분), alpha=0.4, position = 'identity') +
## 대계열별로 다중 밀도 플롯 생성
facet_wrap(~대계열) +
labs(title = '매핑과 facet을 사용한 다중 밀도 분포 플롯')
'ggplot2' 카테고리의 다른 글
그래프에 수직선(geom_vline), 수평선(geom_hline), 대각선(geom_abline) 그리기 in R (0) | 2022.06.14 |
---|---|
박스 플롯(Boxplot)에 평균값 표현하기 in R (0) | 2022.06.12 |
박스 플롯(Boxplot) in R (0) | 2022.06.11 |
와플차트(Waffle) in R (0) | 2022.06.03 |
산키(sankey) 다이어그램 in R (5) | 2022.05.15 |
댓글