수업후기/데이터 분석 도전! 문제풀이

R데이터 분석도전! -2탄

Heeyeon Choi 2019. 4. 13. 02:00
728x90

문제: 미국 동부중부 437개 지역의 인구통계 정보를 담고 있는 midwest 데이터를 사용해 데이터 분석문제를 해결하여 보자. midwest 는 ggplot2 패키지에 들어 있다.

 

문제1: popadults는 해당지역의 성인 인구, poptotal은 전체 인구를 나타냅니다. midwest 데이터에 '전체 인구 대비 미성년 인구 백분율' 변수를 추가하세요.

 

#데이터 불러오기

 

midwest <- as.data.frame(ggplot2::midwest)

 

#midwest에 백분율 변수 추가

* %>%를 사용하기 위해 library(dplyr) 꼭 해주기

 

midwest <- midwest %>%
mutate(ratio_child=(poptotal-popadults)/poptotal*100)

 

 

문제2: 미성년 인구 백분율이 가장 높은 상위 5개 country의 미성년 인구백분율을 출력하세요.

내림차순으로 ratio_child 정렬 후 county, ratio_child 추출 후 상위 5개 행 출력

문제3: 분류표의 각 기준에 따라 미성년 비율 등급 변수를 추가하고, 각 등급에 몇 개의 지역이 있는지 알아보세요.

 

분류 기준
large 40%이상
middle 30~40% 미만
small 30%미만

 

#midwest에 grade 변수 추가

 

midwest<- midwest %>%
mutate(grade= ifelse(ratio_child >=40, "large",
ifelse(ratio_child >= 30, "middle","small")))

 

#미성년 비율 등급 빈도표

 

 

 

문제4: popasian은 해당 지역의 아시아인 인구를 나타냅니다.

'전체 인구 대비 아시아인 인구 백분율' 변수를 추가하고

하위 10개 지역의 state(주). county(지역), 아시아인 인구 백분율을 출력하세요.

 

백분율 변수 추가한 후, 내림차순 정렬한 후, 변수 추출한 후, 상위10개 행 출력

출처: 김영우, "쉽게 배우는 R 데이터 분석", 이지스퍼블리싱, 2017년, 160쪽

728x90