본문 바로가기

전체 글

(34)
[R-전처리] 데이터 집계 함수(dplyr group_by 카운트, 합계 ) 데이터 집계는 데이터베이스(DB) 언어인 SQL에서 대표적으로 많이 사용한다. 집계란, raw data의 레코드 단위를 조금 더 큰 단위로 변환할 때 필요하다. 예를 들면, 날짜별로 역별로 지하철 승하차 인원이 있다고 할 때 역별로 한달 총 승하차 인원 합계를 구한다거나 일 평균 승하차 인원을 계산하려고 할 때 집계 함수가 필요하다. 또 신용카드 결제 데이터도 구매 한 건 한 건 기록된 데이터에서 회원별로 평균 건 당 결제 금액이나 총 결제 금액 합계 등을 계산 할 때 유용하게 사용할 수 있다. 2020-03-20 기준, 한국 영화 역대 박스오피스200 데이터 # data load setwd("C:\\Users\\user\\Desktop\\data") # 파일이 위치한 디렉토리로 세팅..
[R-전처리] 데이터 프레임에서 ID에 기반한 샘플링(랜덤 추출) 서울 6호선 2020.2 역별 승하차 데이터 # data load setwd("C:\\Users\\user\\Desktop\\data") line6 % View() 실습 데이터처럼 사용일자가 2/1~2/29까지 있고 역ID는 날짜별로 들어가 있으니 중복된 역ID가 29번 들어가 있는 샘이다. 이런 데이터는 온라인 쇼핑몰에서 고객 구매데이터에서도 마찬가지이다. 구매 한 건 한 건이 한개의 행을 차지 하기 때문에 고객 ID를 먼저 공정하게 샘플링 한 뒤에 값을 뽑아내야할 필요가 있을 때가 있다. 따라서 먼저 데이터에서 역ID의 중복값을 제거한 값만 얻은 후, 역ID를 샘플링 한 뒤에 데이터를 샘플링할 수 있다. all_id % filter(역ID %in% sa..
[R-전처리] 데이터 프레임에서 조건에 맞는 행 추출(dplyr filter) Raw data에서 특정 조건을 만족하는 레코드(행)만 추출하려고 한다. 서울시 2020년 2월 한 달간 역별 승하차 데이터 # data load setwd("C:\\Users\\user\\Desktop\\data") subway 인덱싱 방식에 데이터명[행 조건, ] 방식으로 추출하는 방법이 있다. View(subway[subway$노선명 == '공항철도 1호선', ]) View(subway[subway$노선명 == '공항철도 1호선' & subway$사용일자 == 20200215, ]) 인덱싱 방식의 추출은 간편하긴 하지만, NA값을 필터링 하지 못한다는 큰 단점이 있다. 또한 모든 행을 다 True/False 방식으로 검사하며 조건에 맞는 행을 찾아내기 때문에 데이터 양이 많아지면..
[R-전처리] 데이터 프레임에서 특정 변수 추출(dplyr select) 데이터를 분석하기 위해 Raw data를 받았을 때 모든 열을 다 변수로 활용하는 것은 아니다. 분석에 사용하지 않는 변수를 제외하고 필요한 열만 추출하면 데이터 분석을 할 때 비용을 절약할 수 있다. 서울시 2020년 2월 한 달간 역별 6호선 승하차 데이터 # data load setwd("C:\\Users\\user\\Desktop\\data") line6 데이터명[행, 열] 인덱싱 방식을 통해 원하는 변수를 추출할 수 있다. 행자리는 비워두면 모든 행이 선택된다. View(line6[, 4:6]) View(line6[, c(4, 6)]) 인덱싱 방식은 동일하나 데이터명[, 열이름] 으로 변수를 추출할 수도 있다. 열 순번을 이용한 방식보다 나중에 ..
[R프로그래밍] 샘플링(sampling)과 기초통계, 상관계수 "평균이 얼마인데?" 와 같은 말을 자주 들어봤을 것이다. 평균, 합계, 표준편차, 분산, 상관점수 등 기초통계량은 우리가 직관적으로 어떤 현상을 짐작하는데 도움이 되기 때문이다. 기초통계량은 우리에게 중요한 정보가 된다. 실습에 사용할 데이터를 편하게 생성하기 위해 샘플링(sampling) 함수를 이용할 수 있다. 샘플링은 sample(샘플링 할 값의 범위, size=샘플링 할 개수, replace=T or F (중복추출 여부)) 로 할 수 있다. # generate data in sampling ID