가장 기본적인 집약 처리로 데이터 카운트가 있습니다. 대상 데이터 레코드의 수(행 수)를 세는 처리입니다. 이외에도 자주 사용하는 집계 처리로 유니크 카운트가 있는데, 데이터에서 같은 값인 레코드를 제외한 레코드 수를 세는 처리입니다. 즉, 데이터 값의 종류를 카운팅 하는 것입니다.
R로 집약 처리할때는 dplyr 패키지의 group_by 함수로 집약 단위를 지정하고 dplyr 패키지의 summarise 함수에서 집약 함수를 지정해 구현합니다. apply 계열의 함수를 사용하는 등 다른 방법도 있지만 계산속도와 가독성을 고려하면 dplyr 패키지를 이용하는 것이 가장 좋습니다.
reserve_tb %>%
-
group_by 함수로 집약 단위를 hotel_id로 지정한다
: group_by(hotel_id) %>%
- summarise 함수를 사용하여 집약 처리를 지정한다.
- n함수를 사용하여 예약 선수를 카운팅한다.
- n_distinct 함수에 customer_id를 지정하여 customer_id의 유니크 카운트를 샌다.
: summarise(rsv_cnt = n(),
cus_cnt = n_distinct(customer_id)
dplyr 패키지의 group_by 함수와 summarise 함수로 집약 처리를 구현할 수 있습니다. group_by 함수로 집약 단위를 지정할 수 있고, 콤마로 여러 열을 지정할 수 있습니다. summarise 함수의 매개변수는 등호(=)의 왼쪽에 새 열 이름을 지정하고 오른쪽에는 집약 처리를 지정합니다. 또한, 콤마로 집약 처리를 연결하여 한꺼번에 처리할 수도 있습니다.
n 함수는 레코드 수를 산출하는 함수입니다. n_distinct 함수는 지정한 열의 유니크 카운트를 산출하는 함수입니다. 백터 길이를 계산하는 length 함수나 백터의 중복 값을 제거하는 unique 함수를 이용할 수 도 있지만 가독성을 고려하면 dplyr 패키지가 제공하는 함수를 사용하는 것이 좋습니다.
'데이터 분석 > 데이터 전처리' 카테고리의 다른 글
최댓갓, 최솟값, 데푯값 산출 (0) | 2021.02.05 |
---|---|
합곗값 계산 (0) | 2021.02.04 |
R, 집약 ID에 기반한 샘플링 (0) | 2021.02.02 |
R, 데이터 값을 고려하지 않는 샘플링 (0) | 2021.02.02 |
R전처리 - 조건에 따른 데이터 행추출 (0) | 2021.02.02 |
댓글