현대인들의 취업과 그와 관련된 여러 항목들에 대하여 분석해보려고 한다. 우선 교육 수준에 따른 취업 여부에 대해 알아보고자 한다. 과연 대졸 여부가 취업에 큰 영향을 끼칠 지가 관건이다. 다음으로 지역에 따른 소득 수준과 인구 수를 분석해본 뒤 이를 통해 수도권에 인프라가 집중되는 원인과 지역별 취업율에 따라 해결방안에 대해 이야기하고 싶다. 더 나아가 현재 극심한 저출산 현상의 원인으로 꼽히는 청년들의 취업율과 이에 따른 결혼 비율을 성별에 따라 나눠서도 분석해볼 예정이다. 이러한 주제는 계속해서 이슈가 되고 있는 사회문제와도 밀접하게 관련되어 있어 의미가 있을 것이라고 생각하는 바이다.
한국복지패널에서 가장 최근의 데이터인 2021년 16차 머지 데이터를 가져왔다. 여기서 성별, 지역, 교육 수준, 경제활동 참여 상태, 가처분소득, 혼인 상태 등에 관한 데이터들을 얻을 수 있었다. 우선 성별은 1은 남자, 2는 여자로 구성되어 있다. 그리고 지역은 7개로 나눠져 있는데, 1은 “서울”, 2는 “수도권(인천/경기)”, 3은 “부산/경남/울산”, 4는 “대구/경북”, 5는 “대전/충남”, 6은 “강원/충북”, 7은 “광주/전남/전북/제주도”이다. 교육 수준은 총 9개의 데이터로 이루어져 있었다. 취업율에 관해 분석하는 것이 목적이기에 미취학 제외 5번까지를 고졸 이하로 설정했고 6번은 전문대학, 7번은 대학교(학사),8,9번은 대학원(석/박사)로 설정했다. 경제 활동 참여 상태 변수의 경우 7, 8, 9번을 제외한 나머지를 “employment” 로 설정하였다. 또한 혼인 상태 변수의 경우 1, 2, 3번을 결혼한 것으로 간주하였다.
raw_welfare<- read.spss(file = "Koweps_hpc16_2021_beta1.sav",
to.data.frame = T)
## Warning in read.spss(file = "Koweps_hpc16_2021_beta1.sav", to.data.frame = T):
## Koweps_hpc16_2021_beta1.sav: Compression bias (0) is not the usual value of 100
## Warning in read.spss(file = "Koweps_hpc16_2021_beta1.sav", to.data.frame = T):
## Koweps_hpc16_2021_beta1.sav: Very long string record(s) found (record type 7,
## subtype 14), each will be imported in consecutive separate variables
#우선 필요한 변수들만 불러온다.
welfare<- raw_welfare
welfare<- welfare %>% select(sex = h16_g3, #성별
birth = h16_g4, #태어난 연도
education = h16_g6, #교육 수준
economy = h16_eco4_1, #경제활동 참여 상태
code_region = h16_reg7, #지역 코드
income = h16_din, #가처분소득
marriage= h16_g10) #혼인 상태
#태어난 연도를 나이로 가공한다.
welfare <- welfare %>%
mutate(age = 2021 - birth +1)
#성별 변수 또한 알아보기 쉽게 가공해준다.
welfare<- welfare %>%
mutate(sex= ifelse(sex == 1, "남자", "여자"))
#그리고 교육 수준을 단계별로 분류해 준다.
welfare<- welfare %>%
mutate(education = ifelse(education<=5, "고졸 이하",
ifelse(education== 6, "전문대학",
ifelse(education==7 , "대학교(학사)" ,"대학원(석/박사)"))))
#지역 코드에 맞게 지역 변수를 불러와서 추가해 준다.
list_region <- data.frame(code_region = c(1:7),
region = c("서울",
"수도권(인천/경기)",
"부산/경남/울산",
"대구/경북",
"대전/충남",
"강원/충북",
"광주/전남/전북/제주도"))
welfare <- left_join(welfare, list_region, id = "code_region")
## Joining, by = "code_region"
#경제활동 참여 상태를 가공해준다.무급가족종사자의 경우 노동의 대가인 급여가 지급되지 않으므로 취업하지 않은 자로 간주했다.
welfare<- welfare %>%
mutate(economy= ifelse(economy == c(7:9),"unemployment","employment"))
## Warning in economy == c(7:9): 두 객체의 길이가 서로 배수관계에 있지 않습니다
#혼인 상태 변수 또한 가공했다. 사별이나 이혼의 경우에도 결혼을 했던 경우이기에 yes 로 간주했다.
welfare<- welfare %>%
mutate(marriage = ifelse(marriage == c(1,2,3), "yes","no"))
## Warning in marriage == c(1, 2, 3): 두 객체의 길이가 서로 배수관계에 있지 않습니
## 다
Describe and show how you analyzed the data
“교육 수준에 따라 취업율이 달라질까?” 에 대해 알아보고자 한다.
table(welfare$economy)
##
## employment unemployment
## 722 126
#먼저 교육 수준에 따른 취업율을 표로 정리한다.(교육 수준(대졸 여부)에 따른 취업율과 관련된 것이므로 미성년자는 제외했다.)
edu_em<-welfare %>%
filter(age>=20) %>%
filter(!is.na(economy)) %>%
group_by(education, economy) %>%
summarise(n = n()) %>%
mutate(tot=sum(n)) %>%
mutate(pct=(n/tot)*100)
## `summarise()` has grouped output by 'education'. You can override using the
## `.groups` argument.
edu_em
## # A tibble: 7 × 5
## # Groups: education [4]
## education economy n tot pct
## <chr> <chr> <int> <int> <dbl>
## 1 고졸 이하 employment 600 719 83.4
## 2 고졸 이하 unemployment 119 719 16.6
## 3 대학교(학사) employment 74 78 94.9
## 4 대학교(학사) unemployment 4 78 5.13
## 5 대학원(석/박사) employment 3 3 100
## 6 전문대학 employment 45 48 93.8
## 7 전문대학 unemployment 3 48 6.25
#다음으로, 위에서 만들어진 표를 막대 그래프로 시각화 한다.
ggplot(data = edu_em , aes(x= education, y=pct, fill= economy))+
geom_col(position = "dodge")+
scale_x_discrete(limits = c("고졸 이하", "전문대학","대학교(학사)","대학원(석/박사)"))
#이에 따라 취업율은 대학원(석/박사)을 거친 사람들이 가장 높았고 그 다음으로 대학교(학사), 전문대학, 고졸 이하 순인 걸로 밝혀졌다. 따라서 교육 수준이 높을 수록 취업율이 높다는 결론이 나왔다.
어떤 지역이 소득 수준과 인구수가 가장 높을까? 그 지역이 취업율도 가장 높을까? 이 질문을 통해 수도권에 인구가 집중되는 원인과 그 해결 방안에 대해서 알아보고자 한다.
#지역별 소득 수준을 알아보자.
summary(welfare$income)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -78689 2328 4836 5392 7493 95148
boxplot(welfare$income)$stats
## [,1]
## [1,] -3759.0
## [2,] 2327.9
## [3,] 4835.5
## [4,] 7493.5
## [5,] 15237.0
welfare<-welfare %>%
filter(income>=-3759.0, income<=15237.0) #우선, 소득의 극단치를 제거한다.
##지역별 소득 평균 그래프 만들기
#먼저 지역별 소득 평균 표를 만들어봤다.
mean_inc<-welfare %>%
group_by(region) %>%
summarise(mean_income=mean(income)) %>%
arrange(desc(mean_income))
mean_inc
## # A tibble: 7 × 2
## region mean_income
## <chr> <dbl>
## 1 수도권(인천/경기) 5865.
## 2 서울 5675.
## 3 부산/경남/울산 5145.
## 4 대전/충남 5042.
## 5 광주/전남/전북/제주도 4762.
## 6 강원/충북 4623.
## 7 대구/경북 4384.
#다음으로 이를 시각화할 막대 그래프를 만들어봤다. 색은 지역별로 더 잘 구분되어 보이게 하기 위해 모두 다르게 했다.
ggplot(data = mean_inc, aes(x= reorder(region, mean_income),y= mean_income, fill= region))+
geom_col()+
coord_flip()
##지역별 소득의 전체적인 분포 그래프 만들기(평균의 함정 극복)
#다음으로 지역별 소득의 평균 뿐만 아니라 전체적인 분포 또한 보려고 한다.
tot_income<-welfare %>%
select(region, income) %>%
arrange(desc(income))
#전체적인 분포를 잘 보여줄 수 있는 상자 그림을 만들었다.전체적인 분포를 보기 위함이므로 그룹 내에서의 극단치는 없애지 않았다.
ggplot(data = tot_income, aes(x= reorder(region,income),y=income, fill=region))+
geom_boxplot()+
coord_flip()
#결론: 지역 별로 소득 수준을 분석해 본 결과 수도권(인천/경기)의 경우가 소득 수준이 가장 높았고 그 다음 서울, 부산/경남/울산, 대전/충남, 광주/전남/전북/제주도, 강원/충북, 대구/경북 순이었다. 광주/전남/전북/제주도나 대구/경북 같은 경우 극단치가 상당 수 존재하는 것으로 보아 지역 내 전반적인 소득 수준에 상관없이 상대적으로 소득이 많은 사람들이 있을 수 있다는 것을 발견하였다.
##지역별 인구수
#다음으로, 지역별 인구 수를 알아보기 위한 빈도 막대 그래프를 만들어 볼 것이다.
ggplot(data = welfare, aes(x= region, fill=region))+
geom_bar()+
scale_x_discrete(limits = c("강원/충북","대전/충남","대구/경북","서울","부산/경남/울산","광주/전남/전북/제주도","수도권(인천/경기)"))+coord_flip()
#결론: 소득 수준이 가장 높은 수도권에 인구가 상대적으로 많이 집중되어 있다. 또, 이에 따라 다른 지역에 비해 수도권에 소득 수준이 높은 사람이 많다고 볼 수 있다. 소득 수준이 높은 사람들은 더욱 고차원의 인프라를 원하기에 좋은 인프라들이 수도권 내에 밀집되게 된다. 그에 따라 순환적으로 이 인프라를 사용하기 위해 수도권에 계속해서 사람이 모이게 되는 것이다.
##지역별 취업율
#이제는 지역별로 취업율을 알아보려고 한다. 우선 표를 만들어보자.
reg_economy<-welfare %>%
filter(!is.na(economy)) %>%
group_by(region,economy) %>%
summarise(n=n()) %>%
mutate(tot= sum(n)) %>%
mutate(eco_pct= (n/tot)*100) %>%
arrange(desc(eco_pct)) %>%
filter(economy == "employment")
## `summarise()` has grouped output by 'region'. You can override using the
## `.groups` argument.
reg_economy
## # A tibble: 7 × 5
## # Groups: region [7]
## region economy n tot eco_pct
## <chr> <chr> <int> <int> <dbl>
## 1 대전/충남 employment 82 90 91.1
## 2 부산/경남/울산 employment 124 139 89.2
## 3 서울 employment 78 88 88.6
## 4 수도권(인천/경기) employment 141 161 87.6
## 5 광주/전남/전북/제주도 employment 147 182 80.8
## 6 대구/경북 employment 84 105 80
## 7 강원/충북 employment 62 79 78.5
#위 표를 막대 그래프로 만들어보자.
ggplot(data = reg_economy, aes(x= reorder(region, eco_pct),y= eco_pct ,fill=region))+
geom_col()+
ylim(0,100)+
coord_flip()
#소득 수준과 인구수가 가장 높았던 수도권의 취업율은 4위 정도에 머물렀다. 이에 비추어 보면 지역인재할당제 등이 취업율에 영향을 끼친 것으로 보인다. 수도권 인구 밀집 현상을 극복하기 위해 이러한 제도를 조금 더 적극적으로 시행하여 다른 지역들로 인구를 분산시킬 필요가 있어보인다.
다른 연령대와 비교했을 때 현재 청년들의 취업율과 결혼 비율은 어떨까? 이를 성별에 따라서도 나누어보고, 취업율과 결혼 비율 사이에 끼치는 영향이 있는지 알아보고자 한다.
##청년들의 취업율
#전체 취업율을 알아보기 위해 표를 만들어보자.
eco_young<-welfare %>%
filter(!is.na(economy)) %>%
filter(economy == "employment") %>%
group_by(age) %>%
summarise(n=n()) %>%
mutate(tot= sum(n)) %>%
mutate(pct= (n/tot)*100)
eco_young
## # A tibble: 71 × 4
## age n tot pct
## <dbl> <int> <int> <dbl>
## 1 20 2 718 0.279
## 2 21 14 718 1.95
## 3 22 10 718 1.39
## 4 23 15 718 2.09
## 5 24 6 718 0.836
## 6 25 3 718 0.418
## 7 26 4 718 0.557
## 8 27 4 718 0.557
## 9 28 10 718 1.39
## 10 30 2 718 0.279
## # … with 61 more rows
#이를 선 그래프로 만들어보려고 한다.
ggplot(data = eco_young , aes( x= age, y= pct, col= "red"))+
geom_line()
#청년은 20~30대까지로 본다. 다른 연령대에 비해 청년들의 취업율이 확연히 낮은 게 보여진다.
#성별에 따른 취업율도 알아보자.
eco_sex<- welfare %>%
filter(!is.na(economy)) %>%
filter(economy == "employment") %>%
group_by(sex, age) %>%
summarise(n=n()) %>%
mutate(tot= sum(n)) %>%
mutate(pct= (n/tot)*100)
## `summarise()` has grouped output by 'sex'. You can override using the `.groups`
## argument.
eco_sex
## # A tibble: 131 × 5
## # Groups: sex [2]
## sex age n tot pct
## <chr> <dbl> <int> <int> <dbl>
## 1 남자 21 7 314 2.23
## 2 남자 22 1 314 0.318
## 3 남자 23 3 314 0.955
## 4 남자 24 2 314 0.637
## 5 남자 25 1 314 0.318
## 6 남자 26 3 314 0.955
## 7 남자 27 3 314 0.955
## 8 남자 28 8 314 2.55
## 9 남자 30 1 314 0.318
## 10 남자 31 1 314 0.318
## # … with 121 more rows
ggplot(data = eco_sex , aes( x= age, y= pct, group= sex, col= sex))+geom_line()
#성별에 따라 약간의 차이는 있지만 대체적으로 청년들의 취업율이 낮은 것으로 보인다.
##청년들의 결혼 비율
#전체 결혼 비율을 먼저 알아보자.
tot_marriage<-welfare %>%
filter(marriage == "yes") %>%
group_by(age) %>%
summarise(n=n()) %>%
mutate(tot= sum(n)) %>%
mutate(pct= (n/tot)*100)
tot_marriage
## # A tibble: 75 × 4
## age n tot pct
## <dbl> <int> <int> <dbl>
## 1 27 1 3016 0.0332
## 2 28 3 3016 0.0995
## 3 29 4 3016 0.133
## 4 30 10 3016 0.332
## 5 31 10 3016 0.332
## 6 32 4 3016 0.133
## 7 33 8 3016 0.265
## 8 34 22 3016 0.729
## 9 35 13 3016 0.431
## 10 36 21 3016 0.696
## # … with 65 more rows
ggplot(data = tot_marriage, aes(x=age, y=pct, col= "red"))+
geom_line()+
xlim(27,100) #취업율 그래프와 비슷하게 청년들이 가장 낮은 양상을 보이고 있다.
## Warning: Removed 1 row containing missing values (`geom_line()`).
#성별에 따른 결혼 비율도 알아보자.
sex_marriage<-welfare %>%
filter(marriage == "yes") %>%
group_by(sex,age) %>%
summarise(n=n()) %>%
mutate(tot= sum(n)) %>%
mutate(pct= (n/tot)*100)
## `summarise()` has grouped output by 'sex'. You can override using the `.groups`
## argument.
sex_marriage
## # A tibble: 144 × 5
## # Groups: sex [2]
## sex age n tot pct
## <chr> <dbl> <int> <int> <dbl>
## 1 남자 28 3 1256 0.239
## 2 남자 29 3 1256 0.239
## 3 남자 30 1 1256 0.0796
## 4 남자 31 4 1256 0.318
## 5 남자 32 3 1256 0.239
## 6 남자 33 4 1256 0.318
## 7 남자 34 10 1256 0.796
## 8 남자 35 6 1256 0.478
## 9 남자 36 8 1256 0.637
## 10 남자 37 10 1256 0.796
## # … with 134 more rows
ggplot(data = sex_marriage, aes(x=age, y=pct, group=sex, col= sex))+
geom_line()
#성별에 따라 약간의 차이는 있지만 대체적으로 청년들의 결혼 비율이 가장 낮은 것으로 보인다. 취업율 그래프와 보여지는 양상이 비슷한 것으로 미루어 볼 때, 취업 여부는 결혼 여부에 큰 영향을 준다는 결론이 나왔다. 이에 따라 현대의 청년실업 문제와 비혼주의 증가 및 저출산 문제가 서로 영향을 끼치고 있을 것으로 예상된다.