블로그

분석 도전(쉽게 배우는 R데이터 분석 123p) 본문

Computer engineering/R

분석 도전(쉽게 배우는 R데이터 분석 123p)

JuNM0418 2019. 3. 29. 22:33
  1. 데이터 가지고 오기
  2. 데이터 모양 확인
  3. 데이터 타입 확인
  4. 데이터 기초 분석
  5. 데이터 클린징
  6. 데이터 시각화

다음과 같은 과정을 통해서 문제1, 문제2, 문제3, 문제4, 문제5를 해결한다.

문제1

ggplot2midwest 데이터를 데이터 프레임 형태로 불러온 다음 데이터의 특징을 파악하세요.

library(ggplot2)    # ggplot2 라이브러리 불러오기

midwest <- as.data.frame(ggplot2::midwest)    # 데이터프레임 형태로 불러오기
midwest_new <- midwest    # 복사본 만들기

head(midwest)    # 데이터 특징 확인
tail(midwest)
View(midwest)
str(midwest)
summary(midwset)

midwest 데이터는 미국 동북중부 437개 지역의 인구통계를 담았으며 28개의 열과 437개의 행으로 이루어져있다.

문제2

poptotal(전체인구) 변수를 total로, popasian(아시안 인구) 변수를 asian으로 수정하세요.

library(dplyr)    # rename()함수가 있는 dplyr 라이브러리 불러오기

midwest_new <- rename(midwest_new, total = poptotal)    # poptotal변수 이름 바꾸기
midwest_new <- rename(midwset_new, asian = popasian)    # popasian변수 이름 바꾸기

문제3

total, asian 변수를 이용해 '전체 인구 대비 아시아 인구 백분율' 파생변수를 만들고, 히스토그램을 만들어 도시들이 어떻게 분포하는지 살펴보세요.

midwest_new$totasian <- (midwest_new$asian / midwest_new$total) * 100     # 전체 인구 대비 아시아 인구 백분율 파생변수 만들기

hist(midwest_new$totasian)    # 히스토그램 출력

문제4

아시아 인구 백분율 전체 평균을 구하고, 평균을 초과하면 "large", 그 외에는 "small"을 부여하는 파생변수를 만들어 보세요.

totasian_mean <- mean(midwest_new$totasian)    # 평균값을 새로운 변수에 저장하기

midwest_new$mean <- ifelse(midwest_new$totasian > totasian_mean, "large", "small") # 조건문을 사용하여 "large" 또는 "small" 부여하기

문제5

"large""small"에 해당하는 지역이 얼마나 되는지 빈도표와 빈도 막대 그래프를 만들어 확인해 보세요.

table(midwest_new$mean)    #빈도표 출력하기
qplot(midwest_new$mean)    #빈도 막대 그래프 출력하기

large small 
  119   318 

소스코드

https://github.com/kucoma/R/blob/master/5_123p.R

출처

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

'Computer engineering > R' 카테고리의 다른 글

dplyr 패키지 활용하기  (0) 2019.04.04
분석 도전(쉽게 배우는 R데이터 분석 160p)  (0) 2019.04.04
데이터를 파악해보자  (0) 2019.03.28
데이터 프레임  (0) 2019.03.22
패키지 관리  (0) 2019.03.21
Comments