더북(TheBook)

코드를 풀이하면 다음 표와 같습니다.

 

표 7-4 | 변형된 코드 풀이

코드

설명

reservation_r %>%

reservation_r 테이블을 선택해서 데이터를 전달하고

group_by(customer_id) %>%

고객 번호로 그룹화해서

mutate(avg = mean(visitor_cnt)) %>%

방문 고객 수(visitor_cnt)의 평균을 avg라는 열로 생성(각 행에)

select(customer_id, avg) %>%

고객 번호와 평균 열을 선택하고(불필요한 코드)

filter(avg >= 3) %>%

요약된 값이 3 이상인 행만 선택하여

distinct(customer_id, avg) %>%

고객 번호와 평균 열의 유일 값만

arrange(desc(avg))

큰 숫자에서 작은 순자 순(내림차순)으로 정렬

 

동일한 결과가 출력되는 것을 확인할 수 있습니다. 다만 더 간결할 수 있는 코드에 불필요한 함수를 사용하기도 했고, 코드도 더 길어지고 논리도 복잡해졌습니다. 바람직한 코드는 아닙니다. 어찌 되었든 결과는 동일하게 출력되었습니다. 이처럼 dplyr 기초 함수를 바탕으로, 사용자 의도에 따라 패턴을 달리해 가며 코드를 작성하면 대부분의 논리 코드를 작성할 수 있습니다. 물론 dplyr 기초 함수 외에 상황에 맞게 다른 dplyr 함수나 R 기본 함수를 함께 사용할 수도 있습니다.

 

정리하면 dplyr 패키지를 잘 사용하는 방법은 다음과 같습니다.

 

1. dplyr 기초 함수로 로직을 구성합니다.

2. 목적에 맞게 함수를 선택하고 순서를 배치합니다.

3. 필요한 추가 함수를 사용하거나 R 기본 함수를 함께 사용합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.