<처음으로 하는 데이터 분석>
문제: 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() 사용 - 데이터가 몇 행, 몇 열로 구성되어 있는지 확인
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쪽
'수업후기 > 데이터 분석 도전! 문제풀이' 카테고리의 다른 글
혼자 해보기: 충청북도 보은군_감염병 발생 정보_2015기준 (0) | 2019.05.25 |
---|---|
혼자 해보기: 범죄종류에 따른 혼인관계 (0) | 2019.05.23 |
혼자 해보기: 차량 사고 유형별 교통사고 통계 (0) | 2019.05.21 |
R데이터 분석도전! -2탄 (0) | 2019.04.13 |