Study/Data Mining

Do it R 분석 도전 (midwest) - 160

Ark1st 2019. 4. 17. 00:50

Do it R 에서 제공하는 분석 도전 문제 풀이 입니다. 160쪽의 문제 입니다. 이번에도 ggplot2의 midwest 데이터를 사용하여 데이터 분석을 실습하는 문제 입니다.

패키지와 문제에 필요한 데이터를 불러오고 사본을 만듭니다.

library(ggplot2)
library(dplyr)

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

 

View() 등으로 데이터를 파악한 뒤 바로 문제를 풀어 보았습니다.

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

#1번 문제
midwest_new <- midwest_new %>% mutate(percyouth = (poptotal - popadults)/poptotal * 100)

 

2. 미성년 인구 백분율이 가장 높은 상위 5개 county(지역)의 미성년 인구 백분율을 출력하시오.

#2번 문제
midwest_new %>% arrange(desc(percyouth)) %>% 
  select(county, percyouth) %>% 
  head(5)

## county percyouth
## 1  ISABELLA  51.50117
## 2 MENOMINEE  50.59126
## 3    ATHENS  49.32073
## 4   MECOSTA  49.05918
## 5    MONROE  47.35818

 

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

분류 기준
large 40% 이상
middle 30 ~ 40% 미만
small 30% 미만
#3번 문제
midwest_new <- midwest_new %>% 
  mutate(gradeyouth = ifelse(percyouth >= 40 ,"large",
                             ifelse(percyouth >= 30,"middle","small")))
table(midwest_new$gradeyouth)

## large middle  small 
##    32    396      9 

 

4. popasian은 해당 지역의 아시아인 인구를 나타냅니다. '전체 인구 대비 아시아인 인구 백분율' 변수를 추가하고 하위 10개 지역의 state(주), county(지역), 아시아인 인구 백분율을 출력하세요.

#4번 문제
midwest_new <- midwest_new %>% 
  mutate(ratio_asian = popasian/poptotal*100)

midwest_new %>% arrange(ratio_asian) %>% 
  select(state, county, ratio_asian) %>% 
  head(10)

##   state    county ratio_asian
## 1     WI MENOMINEE  0.00000000
## 2     IN    BENTON  0.01059210
## 3     IN   CARROLL  0.01594981
## 4      OH    VINTON  0.02703190
## 5     WI      IRON  0.03250447
## 6     IL     SCOTT  0.05315379
## 7     IN      CLAY  0.06071645
## 8     MI    OSCODA  0.06375925
## 9     OH     PERRY  0.06654625
## 10    IL     PIATT  0.07074865

Source code

https://github.com/ark1st/Doit_R_ARKS_CODE/blob/master/midwest_160p%EF%BB%BF

 

// 참고자료

영우, 『쉽게 배우는 R 데이터 분석』, 이지스 퍼블리싱, 2019

이영호, "확률과통계"  가천대학교, 2019