데이터 불러오기, 데이터 전처리, 변수 이름 바꾸기 등의 내용은
5. 실습: 한국 복지 패널 데이터 분석 1 에 있음!
https://chagaun-omija.tistory.com/56
5. 실습: 한국 복지 패널 데이터 분석 1
0. 한국 복지 패널 데이터 는 다음 사이트에서 다운받을 수 있다. https://www.koweps.re.kr:442/data/data/list.do 다만, 데이터를 받기 위해서는 회원가입 후 로그인 해야 하며, 데이터를 사용하고자 하는 목
chagaun-omija.tistory.com
1. 직종 별 임금 비교분석
직종 데이터 (code_job) 은 112, 101 등의 숫자로 되어 있는데 그 항목이 매우 많다. table로 그려봐도 뭐가 뭔지 알 수 없다. 이에 대한 내용은 (2020년 15차 한국복지패널조사) 조사설계서-가구용(beta1).xlsx 인데 이를 불러와서 기존의 welfare데이터와 병합해야 한다. 그래야 숫자로 되어 있는 코드들이 우리가 알아볼 수 있는 한국어로 바뀐다.
(2020년 15차 한국복지패널조사) 조사설계서-가구용(beta1).xlsx 중 직종코드 시트
이게 column 명이 code에 지정이 안되어 있어서 그냥 코드북 xlsx 파일을 따로 만들었다.
파일명은 code_job_list.xlsx 이며 거의 똑같이 생겼다
list_job <- read_excel("code_job_list.xlsx", col_names=T)
head(list_job)
list_job$code_job <- as.double(list_job$code_job)
welfare <- left_join(welfare, list_job, id = 'code_job')
head(welfare)
그냥 read_excel() 후에 바로 join을 하려면 에러가 뜬다.
Error: Can't join on 'x$code_job' x `y$code_job` because of incompatible types.`x$code_job` is of type <double>>.`y$code_job` is of type <character>>.이라고 뜬다. 결국 타입이 달라서 조인을 못하는 거기 때문에, list_job 에 있는 code_job 데이터들을 다 double로 바꿔주었다. 이때 사용한 함수가 as.double()이다.
이렇게 하면 left_join() 을 이용해 code_job을 공통으로 하게 합쳐진다.
head(welfare)로 끝에 잘 추가 되어있는지 확인하고,
직업명들을 사용해야하는데, '소분류' 라고 column이 되어 있는게 불편해서 rename해주었다.
welfare <- rename(welfare, job_name = "소분류")
head(welfare)
이제 본격적으로 데이터를 추출한다.
직업 별 income 평균을 추출한다.
job_income <- welfare %>%
filter(!is.na(income1)) %>%
group_by(job_name) %>%
summarise(income_mean = mean(income1)) %>%
arrange(desc(income_mean)) %>%
head(20)
job_income
ggplot(data=job_income, aes(x=job_name, y=income_mean))+geom_col()+coord_flip()
마지막에 그래프까지 그려준다.
2. 성별 직업 분포
비슷하게 식만 잘 세우면 된다.
1. filter를 통해 여성의 데이터만 추출하고,
2. job_name 별로 묶어준 후에,
3. summarize()를 통해서 해당하는 데이터 수를 세고,
4. 너무 많을 수 있으니까 top 20 직업들만 추출해서
ggplot을 이용해서 그래프를 그려주면 된다.
#성별 직업 분포
woman_job <- welfare %>%
filter(sex == 'female') %>%
group_by(job_name) %>%
summarize(n = n()) %>%
head(20)
woman_job
ggplot(data=woman_job, aes(x=job_name, y=n))+geom_col()+coord_flip()
'언어 > R' 카테고리의 다른 글
5. 실습: 한국 복지 패널 데이터 분석 1 (0) | 2021.06.15 |
---|---|
[TS] foreign package is not available (0) | 2021.06.15 |
4. 그래프 그리기 (0) | 2021.06.15 |
3. 데이터 전처리 (0) | 2021.06.15 |
2. 미국 인구 데이터(midwest) 실습 (0) | 2021.06.15 |