수업후기/확률과 통계

4강: R데이터 분석: 자유자재로 데이터 가공하기

Heeyeon Choi 2019. 4. 11. 12:44
728x90
728x90

06 자유자재로 데이터 가공하기

 

 

dplyr 함수 기능
filter() 행 추출
select() 열(변수)추출
arrange() 정렬
mutate() 변수추가
summarise() 통계치 산출
group_by() 집단별로 나누기
left_join() 데이터 합치기
bind_rows() 데이터 합치기

 

06-2 조건에 맞는 데이터만 추출하기

*dplyr 패키지의 filter() 이용하여 데이터 추출하기

 

#조건에 맞는 데이터만 추출하기

1. dplyr 패키지를 로드한 후 csv_exam.csv 파일을 데이터 프레임으로 만들어 출력하기

 

2. dplyr 패키지의 filter()로 1반 학생들의 데이터만 추출하기

3.같은 형식으로 2반 학생만 추출하여 보기

4. 변수가 '특정 값이 아닌 경우'에 해당하는 데이터 추출

1반이 아닌 경우를 추출하였음

#초과, 미만, 이상, 이하 조건 걸기

1. 초과일 경우만 추출

2. 미만일 경우만 추출

3. 이상일 경우만 추출

4. 이하일 경우만 추출

 

# 여러 조건을 충족하는 행 추출하기

1. '그리고'를 의미하는 &를 사용하기

 

1반이면서 수학 성적이 50점 이상인 경우를 추출하기

 

# 여러 조건 중 하나 이상 충족하는 행 추출하기

1. '또는' 을 의미하는 | 를 사용하기

수학 점수가 90점 이상이거나 영어 점수가 90점 이상인 경우만 추출하기

 

#목록에 해당하는 행 추출하기

1. | 사용하여 1,2,3 반에 속한 학생의 데이터만 추출하기

2. %in% 기호와 c() 함수를 이용하기

1,3,5 반의 데이터만 추출하기

#추출한 행으로 데이터 만들기

1. <- 를 이용하여 새로운 데이터 만들기

1반과 2반의 데이터만 추출 후 각각의 평균을 구하기

<R에서 사용하는 기호들(헷갈리는 것)>

^, ** 제곱
%/% 나눗셈의 몫
%% 나눗셈의 나머지

 

 

06-3 필요한 변수만 추출하기

 

#변수 추출하기

1. select() 이용하여 math 만 추출하기

2. english() 추출하기

3. 여러 변수 추출하기

4. 변수 제외하기

 

#dplyr 함수 조합하기

*dplyr 의 함수들은 %>% 를 이용하여 조합할 수 있다는 장점이 있다.

 

1. filter() 과 select() 조합하기

1반의 english 데이터를 추출하기

2. 가독성 있게 줄 바꾸기

 

exam %>%
filter(class==1) %>%
select(english)

 

3. 일부만 출력하기

 

 

06-4 순서대로 정렬하기

* arrange() 이용하여 정렬하기

 

#오름차순으로 정렬하기

math 변수의 값이 오름차순으로 정렬됨

 

#내림차순으로 정렬하기

math 변수의 데이터가 내림차순으로 정렬됨

 

* 쉼표로 여러 변수를 한번에 정렬할 수 있음

 

 

06-5 파생변수 추가하기

*mutate() 사용하여 파생변수 추가할 수 있다.

 

#파생변수 추가하기

1. exam에 세 과목의 점수를 모두 합한 총합 변수를 만들어 추가한 후 일부 출력하기

2. 여러 파생변수 한번에 추가하기

3. mutate() 에 ifelse() 적용하기

4. 추가한 변수를 dplyr 코드에 바로 활용하기

 

 

06-6 집단별로 요약하기

* group_by()summarise() 사용하기

 

#집단별로 요약하기

1. summarise() 사용하기

2. group_by() 로 집단별로 요약하기

3. 여러 요약 통계량 한번에 산출하기

* n() :행의 갯수 세는 함수

 

4. 각 집단별로 다시 집단 나누기

각 회사별로, 구동방식에 따라 연비가 어떻게 다른지 알 수 있다.

drv 변수에서 4는 사륜구동, f는 전륜구동, r은 후륜구동을 의미한다.

 

#dplyr 조합하기

1. 코드를 작성하기 전에 어떤 절차로 어떤 함수를 사용할지 생각하면서 정리하자

절차 기능 dplyr함수
1 회사별로 분리 group_by()
2 suv 추출 filter()
3 통합 연비 변수 생성 mutate()
4 통합 연비 평균 산출 summarise()
5 내림차순 정렬 arrange()
6 1~5위까지 출력 head()

 

 

06-7 데이터 합치기

 

#가로로 합치기

1. 학생 다섯명이 중간, 기말고사를 봤다고 가정한 후 2개의 데이터 프레임 만들기

2. dplyr패키지의 left_join() 을 이용하여 가로로 합치기(by로 기준 삼을 변수명 지정)

 

#다른 데이터를 활용해 변수 추가하기

1. exam 데이터 분석 중 반별 담임교사 명단을 얻었다고 가정하자

2. name 은 class 와 teacher 두 변수로 구성, class 변수를 기준으로 name 의 teacher 변수를 exam 에 추가하기

 

#세로로 합치기

1. 학생 5명이 먼저 시험 보고 다섯명이 따로 시험을 봤다고 가정하자

2. bind_rows() 를 이용해 세로로 합치기

* 변수명이 다를 경우: rename() 으로 맞춰준 후에 합치기

 

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

728x90