데이터분석29 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. R전처리 - 조건에 따른 데이터 행추출 R에서 행을 추출하는 방법은 데이터 열을 추출할 때와 마찬가지로 다양합니다. 그중 dplyr 패키지의 filter() 함수를 사용하면 간결하게 작성할 수 있다. reserve_tb %>% as.Date 함수로 문자열을 날짜형으로 변환한다. between 함수로 checkin_date의 범위를 설정한다. : filter(between(as.Date(checkin_date), as.Date("2016-10-12"), as.Date("2016-10-13))) between 함수는 특정 여르이 값에 대한 범위 조건을 지정할 수 있습니다. 첫 번째 매개변수에는 열의 값을 두 번째와 세 번째 매개변수에는 범위를 지정합니다. between 함수는 문자열을 처리할 수 없으므로 자료형을 날짜형으로 변환해야 합니다. 2021. 2. 2. R로 데이터 열 추출 1. 2차원 배열의 2차원 항목에 문자 백터로 추출 R로 열을 추출하는 방법은 다양합니다. data.frame 또는 dplyr 패키지를 이용하여 열을 추출할 수 있고, 열일 지정하는 방법도 다양한 패턴 중에서 선택할 수 있습니다. 하지만 이들을 사용한 코드 중 일부 작성법은 어느 열을 추출했는지 알기 어렵고, 원본 데이터에 새로운 열이 추가되면 추출할 데이터의 열이 어긋날 수 있기 때문에 data.frame은 행/열 번호를 숫자가 아닌 문자 백터로 지정합니다. reserve_tb의 2차원 배열의 2차원 항목에 문자 백터로 추출할 열 이름을 지정한다. : reserve_tb[, c('reserve_id', 'hotel_id', 'customer_id', 'reserve_datetime', 'checkin_.. 2021. 2. 1. 이전 1 2 3 4 5 6 7 8 다음