Raw data 상의 데이터 레코드를 좀 더 큰 단위로 변환하여 요약통계를 산출해야하는 일은 데이터 탐색 또는 의사결정에서 중요하다.
< 실습 데이터 >
2020-03-20 기준, 한국 영화 역대 박스오피스200 데이터
movie <- read.csv("C:\\Users\\user\\Desktop\\data\\boxoffice_202003.csv",
header=T, stringsAsFactor=F)
str(movie)
View(movie)
< group_by 대표값 >
대표값이라고 하면, 서로 다른 데이터 셋을 비교하는데 있어서 비교 가능한 하나의 대표값을 말한다.
주로 평균을 많이 사용하지만 최대, 최소값, 중앙값, 백분위도 많이 사용하는 대표값이다.
dplyr 패키지에서 최대값은 max 함수, 최소값은 min 함수, 평균값은 mean 함수, 중앙값은 median 함수, 백분위는 quantile 함수로 구현한다.
library(dplyr)
movie %>%
group_by(대표국적) %>%
summarise(max = max(매출액),
min = min(매출액),
avg = mean(매출액),
med = median(매출액),
per20 = quantile(매출액, 0.25)) %>% #1사분위수
View()
그룹별로 집계해서 대표값을 산출하지 않고 그냥 계산할 때는
summary(데이터명) 으로 자동 계산 할 수 있다.
summary(movie)
< group_by 분포 계산 >
분산은 var 함수, 표준편차는 sd 함수로 계산할 수 있다.
분산이나 표준편차는 데이터가 한 건이면 NA값이 되는데 그것을 방지하려면 coalesce(숫자, 0) 를 이용해 0으로 바꿔준다.
options(scipen=999) # E+05, E-05와 같이 지수표기 방지
movie %>%
group_by(대표국적) %>%
summarise(var = coalesce(var(관객수), 0),
sd = coalesce(sd(관객수), 0)) %>%
View()
'R데이터전처리' 카테고리의 다른 글
[R-전처리] 데이터 테이블 조인(dplyr join) (0) | 2020.03.25 |
---|---|
[R-전처리] 데이터 집계함수(dplyr group_by 최빈값과 순위 계산) (0) | 2020.03.24 |
[R-전처리] 데이터 집계 함수(dplyr group_by 카운트, 합계 ) (0) | 2020.03.20 |
[R-전처리] 데이터 프레임에서 ID에 기반한 샘플링(랜덤 추출) (0) | 2020.03.19 |
[R-전처리] 데이터 프레임에서 조건에 맞는 행 추출(dplyr filter) (0) | 2020.03.18 |