7.6 separate() 함수와 unite() 함수

컬럼의 분리와 결합을 위한 separate() 함수와 unite() 함수는 서로 보완적인다.

7.6.1 separate() 함수

separate() : 여러 개의 컬럼으로 분리하기 위해 한 컬럼에 있는 각 셀을 분리한다.

separate(data, col, into, sep=, remove = TRUE)

  • data : 데이터 프레임
  • col: 분리할 컬럼 명
  • into: 새로운 문자형 변수 컬럼 명
  • sep= : 컬럼 사이의 분리 문자
  • remove= : 데이터 프레임에서 원 컬럼의 제거 여부, 디폴트 값은 TRUE

7.6.2 unite() 함수

unite(): 한 개의 컬럼으로 결합하기 위해 여러 컬럼에 있는 셀의 값들을 묶어 준다.

unite(data, col, … , sep = “_,” remove = TRUE)

  • col: 결합 컬럼이 될 새로운 컬럼의 이름
  • ... : 결합될 컬럼의 목록
  • sep = : 분리자, 디폴트 값은 “_”

7.6.3 separate() 함수와 unite() 함수의 예

table5 %>% 
  separate(col=rate, into=c("cases", "population"), sep="/") %>% 
  unite(col="year", century, year, sep="")
## # A tibble: 6 x 4
##   country     year  cases population
##   <chr>       <chr> <chr> <chr>     
## 1 Afghanistan 1999  745   19987071  
## 2 Afghanistan 2000  2666  20595360  
## 3 Brazil      1999  37737 172006362 
## # ... with 3 more rows

  • table5에 있던 centuryyear 컬럼이 새로운 테이블의 year 컬럼으로 합쳐졌다.
  • table5에 있던 rate 컬럼이 cases 컬럼과 population 컬럼으로 분리되었다.