한국복지패널데이터분석2
나이와 월급의 관계
- 분석절차
- 변수 검토 및 전처리 : 나이, 월급
- 변수 간 관계 분석 : 나이에 따른 월급 평균표, 그래프만들기
나이 변수 검토 및 전처리
- 변수 검토하기 - 태어난 연도를 이용해서 나이 변수를 만든다
- 전처리 - 코드표 » 태어난 연도 : 1900 ~ 2014, 모름/무응답 : 9999 - 결측치 없음
- 파생변수 만들기 - 나이
- 2015년 조사 자료이므로 나이 = 2015 - 태어난 연도 + 1
welfare$age <- 2015 - welfare$birth + 1 gplot(welfare$age)
나이와 월급 관계 분석
- 나이에 따른 월급 평균표 만들기
age_income <- welfare %>% filter(!is.na(income)) %>% group_by(age) %>% summarise(mean_income = mean(income))
- 그래프 만들기
ggplot(data = age_income, aes(x = age, y = mean_income)) + geom_line()
연령대 및 성별 월급 차이
- 분석절차
- 변수 검토 및 전처리 : 연령대, 성별, 월급
- 변수 간 관계 분석 : 연령대 및 성별 월급 평균표, 그래프 만들기
연령대 및 성별 월급 차이 분석
- 연령대 및 성별 월급 평균표 만들기
sex_income <- welfare %>% filter(!is.na(income)) %>% group_by(ageg, sex) %>% summarise(mean_income = mean(income)) sex_income
- 그래프 만들기
ggplot(data = sex_income, aes(x = ageg, y = mean_income, fill=sex)) + geom_col() + scale_x_discrete(limits = c("young","middle","old"))
- fill : 막대가 성별에 따라 다른 색이 나오도록 함 - scale_x_discrete(limits = c()) : 연령대 순으로 정렬 <br>![chp9-5](/assets/images/chp9-5.PNG) ```r ggplot(data = sex_income, aes(x = ageg, y = mean_income, fill=sex)) + geom_col(position = "dodge") + scale_x_discrete(limits = c("young","middle","old")) ``` - position = "dodge" : 성별에 따라 막대를 분리함 <br>![chp9-6](/assets/images/chp9-6.PNG)
- 연령대 및 성별 월급 평균표 만들기
직업별 월급 차이
- 분석절차
- 변수 검토 및 전처리 : 직업, 월급
- 변수 간 관계 분석 : 직업별 월급 평균표 만들기, 그래프 만들기
직업 변수 검토 및 전처리
- 변수 검토하기 : code_job은 직업코드로 이름이 아니기 때문에 직업 명칭 변수를 만들어야 한다
- 전처리
- 직업분류코드가 정리된 시트 불러오기
library(readxl) list_job <- read_excel("Koweps_Codebook.xlsx", col_names = T, sheet = 2)
- left_join()을 이용해 job변수를 welfare에 결합 - 공통으로 들어가 있는 code_job변수를 이용
welfare <- left_join(welfare, list_job, id = "code_job") welfare %>% filter(!is.na(code_job)) %>% select(code_job, job) %>% head() code_job job 1 942 경비원 및 검표원 2 762 전기공 3 530 방문 노점 및 통신 판매 관련 종사자 4 999 기타 서비스관련 단순 종사원 5 312 경영관련 사무원 6 254 문리 기술 및 예능 강사
직업별 월급 차이 분석
-
직업별 월급 평균표 만들기
job_income <- welfare %>% filter(!is.na(job) & !is.na(income)) %>% group_by(job) %>% summarise(mean_income = mean(income))
- 월급을 내림차순 정렬, 상위 10개 추출
top10 <- job_income %>% arrange(desc(mean_income)) %>% head(10)
- 그래프 만들기
- coord_flip() : 막대를 오른쪽으로 90도 회전
ggplot(data = top10, aes(x = reorder(job, mean_income), y = mean_income)) + geom_col() + coord_flip()
- coord_flip() : 막대를 오른쪽으로 90도 회전