02에서는 데이터 전체를 이용해서 성별 월급 차이를 분석했습니다. 그런데 성별 월급 차이는 연령대에 따라 다른 양상을 보일 수 있습니다. 이번에는 성별 월급 차이가 연령대에 따라 다른지 분석해 보겠습니다. 연령대, 성별, 월급 변수 모두 앞에서 전처리 작업을 완료했으니 바로 변수 간 관계를 분석하겠습니다.
분석절차
1. 변수 검토 및 전처리
-연령대, 성별, 월급
2. 변수 간 관계분석
-연령대 및 성별 월급 평균표 만들기, 그래프 만들기
연령대 및 성별 월급 차이 분석하기
1. 연령대 및 성별 월급 평균표 만들기
각 연령대에서 성별에 따른 월급 차이가 있는지 알아보기 위해 연령대 및 성별에 따른 월급 평균표를 만들겠습니다.
sex_income <- welfare %>%
filter(!is.na(income)) %>%
group_by(ageg, sex) %>%
summarise(mean_income = mean(income))
sex_income
# A tibble: 6 x 3
# Groups: ageg [3]
ageg sex mean_income
<chr> <chr> <dbl>
1 middle female 188.
2 middle male 353.
3 old female 81.5
4 old male 174.
5 young female 160.
6 young male 171.
2. 그래프 만들기
앞에서 만든 표를 이용해 그래프를 만들겠습니다. 막대가 연령대별로 표현되도록 x축에 ageg를 지정합니다. 막대가 성별에 따라 다른 색으로 표현되도록 fill에 sex를 지정합니다. 축 순서는 scale_x_discrete(limits=c())를 이용해 연령대 순으로 설정합니다.
ggplot(data = sex_income, aes(x = ageg, y = mean_income, fill = sex)) +
geom_col() +
scale_x_discrete(limits = c("young", "middle", "old"))
출력된 그래프는 각 성별의 월급이 연령대 막대에 함께 표현되어 있어 차이를 비교하기 어렵습니다. geom_col()의 position 파라미터를 "dodge"로 설정해 막대를 분리하겠습니다.
ggplot(data = sex_income, aes(x = ageg, y = mean_income, fill = sex)) +
geom_col(position = "dodge") +
scale_x_discrete(limits = c("young", "middle", "old"))
표와 출력된 그래프를 보면 성별 월급 차이의 양상이 연령대별로 다르다는 것을 알 수 있습니다. 초년에는 차이가 크지 않다가 중년에 크게 벌어져 남성이 166만 원가량 더 많습니다. 노년에는 차이가 줄어들지만 여전히 남성의 월급이 92만 원가량 더 많습니다.
앞 절에서 연령대별 월급을 분석했을 때 노년이 초년보다 적은 월급을 받는 것으로 나타났습니다. 하지만 성별로 나눈 이번 분석 결과를 보면 남성의 경우 노년과 초년 간 월급 차이가 크지 않다는 것을 알 수 있습니다. 노년이 초년보다 적은 월급을 받는 현상은 여성에서만 나타나고 있습니다. 또한 초년보다 중년이 더 많은 월급을 받는 현상도 주로 남성에서 나타나고, 여성은 큰 차이가 없다는 것을 알 수 있습니다.
나이 및 성별 월급 차이 분석하기
이번에는 연령대로 구분하지 않고 나이 및 성별 월급 평균표를 만들어 그래프로 표현하겠습니다. 그래프는 선 그래프로 만들고, 월급 평균 선이 성별에 따른 다른 색으로 표현되도록 aes()의 col 파라미터에 sex를 지정하겠습니다.
# 성별 연령별 월급 평균표 만들기
sex_age <- welfare %>%
filter(!is.na(income)) %>%
group_by(age, sex) %>%
summarise(mean_income = mean(income))
head(sex_age)
# A tibble: 6 x 3
# Groups: age [3]
age sex mean_income
<dbl> <chr> <dbl>
1 20 female 147.
2 20 male 69
3 21 female 107.
4 21 male 102.
5 22 female 140.
6 22 male 118.
# 그래프 만들기
ggplot(data = sex_age, aes(x = age, y = mean_income, col = sex)) +
geom_line()
출력된 그래프를 보면 남성의 월급은 50세 전후까지 지속적으로 증가하다가 급격하게 감소하는 반면, 여성은 30세 전후까지 약간 상승하다가 그 이후로는 지속적으로 완만하게 감소한다는 것을 알 수 있습니다. 성별 월급 격차는 30세부터 지속적으로 벌어져 50대 초반에 가장 크게 벌어지고, 이후로 점차 줄어들어 70대 후반이 되면 비슷한 수준이 된다는 것을 알 수 있습니다.
'R > 쉽게 배우는 R 데이터분석' 카테고리의 다른 글
한국인의 삶을 파악하라! -07 (0) | 2020.03.04 |
---|---|
한국인의 삶을 파악하라! -06 (0) | 2020.03.04 |
한국인의 삶을 파악하라! -04 (0) | 2020.03.03 |
한국인의 삶을 파악하라! -03 (0) | 2020.03.03 |
대한민국 시도별 인구, 결핵 환자 수 단계 구분도 만들기 (0) | 2020.03.02 |