본문 바로가기

tidyverse14

합곗값 계산 월별 매출을 알아야 하거나 점포별 매출 금액을 출력하고 싶을 때처럼 분석 대상의 값이 숫자일 경우 게이터의 합을 계산해야 할 경우가 있습니다. 합계 처리는 수치 데이터를 대상으로 하며, 가장 단순하며 유용합니다. R에서 합계 함수는 sum() 함수입니다. reserve_tb %>% group_by()에 hotel_id와 people_num의 조합을 지정한다. : group_by(hotel_id, people_num) %>% sum() 함수를 total_price에 적용하여 매출 합계를 산출한다. : summarise(price_sum = sum(total_price)) # 호텔별 예약 안원수에 따른 total_price의 합계를 산출한다. 2021. 2. 4.
R, 데이터와 종류의 개수 산출 가장 기본적인 집약 처리로 데이터 카운트가 있습니다. 대상 데이터 레코드의 수(행 수)를 세는 처리입니다. 이외에도 자주 사용하는 집계 처리로 유니크 카운트가 있는데, 데이터에서 같은 값인 레코드를 제외한 레코드 수를 세는 처리입니다. 즉, 데이터 값의 종류를 카운팅 하는 것입니다. R로 집약 처리할때는 dplyr 패키지의 group_by 함수로 집약 단위를 지정하고 dplyr 패키지의 summarise 함수에서 집약 함수를 지정해 구현합니다. apply 계열의 함수를 사용하는 등 다른 방법도 있지만 계산속도와 가독성을 고려하면 dplyr 패키지를 이용하는 것이 가장 좋습니다. reserve_tb %>% group_by 함수로 집약 단위를 hotel_id로 지정한다 : group_by(hotel_id) .. 2021. 2. 3.
R, 집약 ID에 기반한 샘플링 샘플링은 공평한 샘플링 구현이 가장 중요합니다. 어느 한쪽으로 편향된 샘플링을 하게 되면 이후 분석에서 편향된 데이터에 기반한 경향과 잘못된 결과를 도출할 수 있습니다. 공평하게 샘플링하려면 분석 대상이 단위와 샘플링 단위를 서로 맞춰야 합니다. R을 이용해 집약 ID 단위로 샘플링하려면 먼저 집약 ID의 유니크한 값의 리스트를 뽑아내고, 뽑아낸 집약 ID리스트를 샘플링해 대상 ID을 결정한 다음에 대상 데이터를 추출하면 됩니다. 예를 들어 1행에 1회의 숙박 예약을 나타내는 레코드를 50% 샘플링한 후의 데이터에서 예약 인원 수별 예약 건수 데이터 비율을 생각해보면 샘플링 전후의 분석 결과는 크게 다르지 않습니다. 분석단위가 예약한 건이고, 샘플링 단위도 예약한 건이기 때문입니다. 이번에는 1행에 1회.. 2021. 2. 2.
R, 데이터 값을 고려하지 않는 샘플링 데이터를 분석할 때 추출할 데이터 수가 너무 많아 다루기 어려운 경우가 있습니다. 그럴 때는 샘플링으로 데이터 수를 줄일 수 있습니다. 샘플링에는 자의적 샘플링과 랜덤 샘플링이 있습니다. 자의적 샘플링은 스스로 샘플링할 조건을 정하는 방법입니다. 보통 샘플링이라고하면 랜덤 샐플링을 의미합니다. R을 이용한 샘플링 방법은 다양하지만, 전처리에서는 dplyr 패키지를 활용할 때가 많습니다. # reserve_tbdptj 50% 샘플링 한다. : sample_frac(reserve_tb, 0.5) sample_frac 함수는 행 단위로 랜덤 샘플링을 시행합니다. 첫 번째 매개변수에는 대상 data.fram을 지정하고 두 번째 매개변수에는 추출링 배율을 지정합니다. 배율이 아닌 건수로 지정하려면 sample_n.. 2021. 2. 2.