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

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

Heeyeon Choi 2019. 3. 28. 11:37
728x90

<처음으로 하는 데이터 분석>

문제: ggplot2 패키지에 있는 midwest 데이터를 이용하여 데이터 분석하기

1. 데이터를 불러오기

(1) ggplot2 패키지를 설치하기

 

install.packages("ggplot2")

 

(2) ggplot2의 midwest 데이터를 데이터 프레임 형태로 불러오기

 

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

 

2. 데이터를 파악하기

(1) head() 사용 - 데이터 앞부분 확인하기  

 

head(midwest)

 

(2) tail() 사용 - 데이터 뒷부분 확인하기

 

tail(midwest)

 

(3) View() 사용 - 뷰어 창에서 데이터 확인하기

 

View(midwest)

(4) dim() 사용 - 데이터가 몇 행, 몇 열로 구성되어 있는지 확인

728x90

dim(midwest)

(5) str() 사용 - 속성 파악하기

 

str(midwest)

(6) summary() 사용 - 요약 통계량 산출하기

 

summary(midwest)

 

 

 

3. 변수명 바꾸기

(1) dplyr 패키지 설치하고 로드하기

 

install.packages("dplyr")

library(dplyr)

 

(2) 데이터 프레임 복사본 만들기

 

midwest_new <- midwest

 

(3) rename() 사용 - 변수명 바꾸기

 

midwest_new <- rename(midwest_new, total = poptotal)

midwest_new <- rename(midwest_new, asian = popasian)

 

summary(midwest_new)를 통해 바뀐 것을 확인

4. 파생변수 만들기

*파생변수: 기존의 변수를 변형해 만든 변수

 

total 과 asian 변수를 사용하여 전체 인구 대비 아시아 인구 백분율 파생변수 만들기

 

(1) 파생 변수 생성

 

변수명: total_asian

 

midwest_new$total_asian <- (midwest_new$asian/midwest_new$total)*100

summary(midwest_new$total_asian)로 확인해보기

*데이터의 perasian 변수와 같은 의미를 지님!

 

(2) 히스토그램 만들기

 

hist(midwest_new$total_asian)

5.조건문 활용하여 파생변수 생성하기

(1) 기준값 정하기

기준: 아시아 인구 백분율 전체 평균

 

mean<- mean(midwest_new$total_asian)

(2) 합격 판정 변수 만들기

: 조건문 사용

 

midwest_new$test <- ifelse(midwest_new$total_asian > mean, "large","small")

head(midwest_new, 20)로 확인해보기

(3)빈도표로 확인하기

 

table(midwest_new$test)

 

 

 

 

(4)막대 그래프로 빈도 표현하기

 

library(ggplot2)  -qplot을 사용하기 위해
qplot(midwest_new$test)

막대 그래프가 가독성이 제일 쉬운것을 알 수 있다.

아시아인 비율이 평균을 넘는 곳이 매우 적음을 알 수 있다.

 

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

728x90