7~9장에 해당하는 내용이다.
1. 작업 환경 만들기
2. 실습용 데이터 가져오기
실습용 데이터는 2019 하반기 패밀리 레스토랑의 온라인 예약 및 매출 데이터와 관련한 데이터이다.
customer_r 고객정보
item_r 메뉴 상품 정보
reservation_r 주문 예약, 취소 정보
order_info_r 주문 상세 정보
재료 다루는 법 익히기: 데이터 처리를 위한 dplyr(디플라이알, 처리하기) 패키지
"요리 재료를 이용하여 본격적인 요리 시작"
2. 파이프 연산자 (%>%): 데이터 전달하기 (ctrl+shift+m)
dplyr 패키지를 로딩하면 파이프 연산자를 사용할 수 있다. 파이프 연산자(%>%)는 체인 연산자(chain operator) 또는 줄여서 파이프라고 하는데, 물길을 연결하는 파이프처럼 데이터와 데이터를 연결하는 dplyr 패키지의 핵심 연산자다. '데이터를 전달한다' 고 생각해도 된다. 앞서 연산된 결괏값이나 데이터를 다음으로 전달하는 역할을 하는 것이 파이프 연산자이다.
행 요약과 그룹화
1. summarise() 함수 : 행 요약하기
주문 테이블에서 매출(sales)의 평균값을 구하는 예
summarise(order_info_r, avg=mean(sales))
2. group_by() 함수 : 행 그룹화하기
행 조작
1. fliter() 함수 : 조건으로 행 선택하기
특정 조건을 만족하는 데이터를 필터링하여 반환한다.
2. distinct() 함수 : 유일 값 행 선택하기
중복 행 값을 제거하여 반환한다.
item_id를 종류별로 하나만(유일 값(unique value)) 알고 싶을 때 사용한다.
3. slice() 함수 : 선택 행 자르기
4. arrange() 함수 : 행 정렬하기
행을 작은 값에서 큰 값으로 정렬(오름차순) 하거나 큰 값에서 작은 값으로 정렬 (내림차순) 한다.
5. add_row() 함수 : 행 추가하기
6. sample_frac(), sample_n() 함수 : 무작위로 샘플 행 뽑기
열 조작
1. selct() 함수 : 열 선택하기
2.mutate() 함수 : 열 조작해서 새로운 열 생성하기
3.transmute() 함수 : 원래 열 뺴고 새로운 열 생성하기
mutate() 함수와 기능이 동일하지만, 기존 테이블의 열을 반환하지 않는다는 차이가 있다.
4. mutate_all() 함수 : 모든 열 조작해서 새로운 열 생성하기
사용할 함수를 지정하는 funs() 옵션과 함께 사용한다.
5. mutate_if() 함수 : 특정 조건 열만 조작해서 새로운 열 생성하기
특정 조건을 만족하는 열만 조작해서 새로운 열을 생성한다.
6. mutate_at() 함수 : 특정 열만 조작해서 새로운 열 생성하기
7. rename() 함수 : 열 이름 바꾸기
테이블 조작
행과 열로 구성된 테이블을 조작하는 함수
1. bind_cols() 함수 : 테이블 열 붙이기 (행 개수가 같은 경우)
bind_cols() 함수는 테이블의 열을 붙입니다.
2. bind_row() 함수 : 테이블 행 붙이기 (행 개수가 다른 경우)
3. inner_join() 함수 : 일치하는 데이터 연결하기
4. left_join() 함수 : 왼쪽 기준 모든 데이터 연결하기
5. right_join() 함수 : 오른쪽 기준 모든 데이터 연결하기
6. full_join() 함수 : 양쪽 모든 데이터 연결하기
7. intersect() 함수 : 데이터 교집합 구하기
8.setdiff() 함수 : 데이터 빼기
9.union() 함수 : 중복을 제거해서 데이터 합치기
dplyr 패키지 함수를 잘 사용하는 법
dplyr 패키지로 데이터를 잘 조작하려면 dplyr 기초 함수를 사용해서 패턴을 생각해 보고, 논리(logic)에 따라 함수를 추가하거나 함수 순서를 바꾸어서 코드를 작성하면 된다.
* reservation_r 테이블에서 평균 방문 고객 수 (visitor_cnt)가 세 명 이상인 고객을 구하되, 평균 방문 고객 수가 높은 고객부터 출력하세요.
1. dplyr 기초 함수로 로직 구성하기
2. 목적에 맞게 함수를 선택하고 순서를 배치한다
3. 필요한 추가 함수를 사용하거나 R 기본 함수를 함께 사용한다.
* 요리 재료를 다루는 법을 응용하여 요리 만들기
요리명
order_info_r 테이블 메뉴 (item_id) 별, 월별 평균 매출을 계산한 후 메뉴별, 월별로 오름차순 정렬해서 출력하는 메뉴 아이템 별 월 평균 매출
기초 요리법에서 배운 R 기본 함수 응용하기
결과는 my_first_cook 이란 변수에 담아 출력하기
1. 테이블을 선택해서 데이터 전달
~ 기준 변경 : substr(reserv_no,1,6)
2. group_by() %>% 그룹화하기
3. summarise() %>% 열 요약
~ 선택하기 : filter() 선택하기, distinct() 유일 값 선택하기
4.arrange(desc(avg)) 내림차순 정렬
티블
tb<- as_tibble() :티블 구조로 변환하는 함수
어떤가요? 여러분의 첫 요리를 잘 만들었나요? 그렇다면 다행입니다. 하지만 생각만큼 잘되지 않았어도 괜찮습니다. 처음부터 잘할 수는 없죠. 포기하지 않고 계속 연습하다 보면 언젠가는 휼륭한 요리를 만들 수 있을 것입니다.
'R' 카테고리의 다른 글
R 중간고사 (0) | 2023.10.17 |
---|---|
R 데커레이션, ggplot2 (2) | 2023.09.05 |
R 연산자와 함수 (0) | 2023.09.03 |
R 변수와 함수 그리고 패키지 (1) | 2023.09.03 |
모두의 R 데이터 분석 공부 (0) | 2023.09.02 |