[R] 데이터 가공 함수
[데이터 처리를 위한 R 패키지] data.table, dplyr, plyr, reshape2, sqldf
AI gina
2022. 4. 21. 11:04
데이터 처리를 위한 R 패키지
데이터 처리 과정
- 데이터의 전처리
- 변환
- 필터링
1. 데이터 전처리를 위한 R 패키지
- data.table : 대용량 자료의 빠른 처리
- dplyr : Hadley Wickham가 작성, C++로 작성, data frame+pliers(집게)+R (디플라이알)
-> dplyr 패키지는 데이터 프레임을 핸들링하는 함수군으로 구성
- plyr : R로 작성, 처리 속도가 느림, pliers(집게)+R (플라이알)
- reshape2
-> reshape2::melt(): wide format의 데이터를 long format으로 변환
-> reshape2::cast(): long format의 데이터를 wide format으로 변환
- sqldf : R의 데이터프레임 객체를 SQL을 이용하여 조작하도록 지원하는 패키지
2. dplyr 패키지의 함수
- Single table 함수 비교
dplyr 함수 dplyr함수 내용 base패키지 함수filter(df, x) | 행 추출 | subset() |
select(df, x, y) | 열 추출 | df[, c(“x”, “y”)] |
mutate(df, z=x+y) | 열 추가 | df$z = df$x+df$y, transform() |
arrange(df, x) | 정렬 | order(), sort() |
distinct(df, x) | unique 행 추출 | unique() |
pull(df, 1), pull(df, x) | 특정열추출 | df[[1]], df$x |
rename(df, y=x) | 변수명 바꿈 | names(df)[names(df) == “x”] <- “y” |
relocate(df, x,y,z) | 컬럼순서변경 | |
summarise() | 집계 | aggregate() |
sample_n() | 랜덤샘플링 | sample() |
sample_frac() | ||
group_by() | 그룹별 집계 | |
as_tibble() | 데이터프레임의 변환 | |
as_data_frame() | 데이터프레임의 변환 | as.data.frame() |
- Two-table 함수
dplyr함수 기본함수inner_join(df1, df2) | merge(df1, df2) |
left_join(df1, df2) | merge(df1, df2, all.x = TRUE) |
right_join(df1, df2) | merge(df1, df2, all.y = TRUE) |
full_join(df1, df2) | merge(df1, df2, all = TRUE) |
semi_join(df1, df2) | df1[df1xx, , drop = FALSE] |
anti_join(df1, df2) | df1[!df1xx, , drop = FALSE] |