[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]