[R] 1. tidyverse 라이브러리와 tidy data

반응형

1. tidy data란?

  • Hadley Wickham(2016)에 따르면 tidy data는 아래 세 가지 규칙을 갖는다고 합니다.
    • 하나의 변수는 하나의 세로줄을 형성한다. (Each variable forms a column: Variables in columns)
    • 하나의 관측치는 하나의 가로줄을 형성한다. (Each observation forms a row: observations in rows)
    • 하나의 변수의 종류별로 하나의 표를 형성한다. (Each type of observational unit forms a table: one type per dataset)
  • 즉, 쉽게 이해하자면 tidy data는 우리가 흔히 스프레드시트에서 볼 수 있었던 데이터의 형태와 같습니다.
  • 데이터 처리에 가장 많은 시간이 소요되는 전처리 과정을 줄이기 위해 처음부터 데이터를 표준화한 형태라고 이해하시면 됩니다.





2. 부속 라이브러리

  • 우선 install.packages() 함수를 이용하여 tidyverse 패키지를 설치한 후 library() 함수를 통해 패키지를 불러오면 아래와 같습니다.
    ## ─ Attaching packages ──────────────────── tidyverse 1.3.1 ─
    ## ✓ ggplot2 3.3.5     ✓ purrr   0.3.4
    ## ✓ tibble  3.1.2     ✓ dplyr   1.0.7
    ## ✓ tidyr   1.1.3     ✓ stringr 1.4.0
    ## ✓ readr   1.4.0     ✓ forcats 0.5.1
    ## ─ Conflicts ───────────────────── tidyverse_conflicts() ─
    ## x dplyr::filter() masks stats::filter()
    ## x dplyr::lag()    masks stats::lag()
    • Attaching packages를 보면 아시다시피 tidyverse는 총 8개의 라이브러리를 모아둔 상위 라이브러리 구조 입니다.
    • 따라서 tidyverse 라이브러리를 불러오면 그에 따른 하위 라이브러리도 같이 구동되는 구조 입니다.



2. 1. ggplot2

  • 데이터 시각화에 주로 사용되는 라이브러리입니다.
  • ggplot2에서 앞에 두 글자 gg는 그래픽 문법(grammar of graphics)의 약자입니다.

2. 2. tibble

  • R에서는 일반적으로 데이터 프레임(data frame)의 형태로 데이터가 정의되기에 기존에 R을 주로 사용하셨더라면 데이터 프레임이라는 단어가 익숙할 것 입니다.
  • 마찬가지로 data frame과 본질적으로 똑같은 형태로 티블(tibble)이라는 데이터 형태도 존재합니다.
  • tidyverse에서는 기술적으로 더 효율적인 구조를 갖는 tibble 포맷의 데이터를 사용합니다.

2. 3. tidyr

  • 라이브러리 이름에서도 보실 수 있다시피 타이디 데이터를 R에서 구현시키는 데 도움이 되는 함수들로 구성된 라이브러리 입니다.

2. 4. readr

  • 관측치들을 핸들링(추출/분리/결합 등)하는데 있어서 유용한 함수들을 담고 있습니다.

2. 5. purrr

  • 사용자가 정의한 함수를 작성 및 관리하며 서로 다른 데이터에 동일한 모형을 반복하여 적용한 후 그 결과를 체계적으로 정리하는 데 매우 유용한 함수들을 담고 있습니다.

2. 6. dplyr

  • 데이터 전처리에 효과적으로 쓰이는 라이브러리입니다.
  • 데이터 분석에 소요되는 대부분의 시간과 노력은 데이터 전처리에 쓰입니다.

2. 7. stringr 라이브러리

  • 텍스트 형태의 변수들을 처리하기 위한 함수를 담고 있습니다.
  • 하나의 문서를 문장이 기본 단위로 하는 데이터로 전환한다거나, 원하는 텍스트만 선별할 때 유용하게 쓰일 수 있습니다.
  • <참고> tidytext 라이브러리도 있음!

2. 8. forcats 라이브러리

  • 범주형 변수(categorical variable)를 관리할 떄 매우 유용합니다. (FOR CATagoryS)
  • 구성된 함수들은 데이터 시각화를 위해 연속형 변수들을 범주형 변수로 변환하는데 매우 유용하며, 실험조건에 따른 실험 집단을 나누고 정렬하는데도 매우 유용하게 쓰입니다.





3. 기타 라이브러리

  • 위에서 언급한 8개의 라이브러리와 달리 아래의 라이브러리들은 tidyverse 라이브러리를 설치할 때 같이 설치되지만 같이 구동되지 않은 라이브러리들입니다.

3. 1. lubridate 라이브러리

  • 날짜와 시간 정보를 표시하는 변수를 다룰 때 매우 유용한 패키지 입니다.

3. 2. readxl 라이브러리

  • 엑셀 형태로 저장된 데이터 파일을 불러올 때 사용합니다.
  • 기본 패키지 openxlsx 라이브러리를 사용할 경우 엑셀 데이터는 data.frame 객체로 저장되지만 readxl 패키지를 이용하면 tibble 객체로 저장이 됩니다.

3. 3. haven 라이브러리

  • SPSS, SAS, STATA 등의 솔루션으로 저장된 데이터들을 R 워크 스페이스로 불러올 때 쓰일 수 있는 함수들이 내포되어 있습니다.

3. 4. magrittr 라이브러리

  • tidyverse에서 쓰일 수 있는 파이프 오퍼레이터(pipe operator, %>%)를 담고 있는 라이브러리 입니다.

3. 5. modelr 라이브러리

  • 이름에서 보시다시피 modelr 라이브러리는 모형 추정과 관련된 R 함수들을 제공합니다.
  • <참고> tidymodels 라이브러리도 있음!

3. 6. broom 라이브러리

  • 모형추정 결과를 tidy data 형식에 맞게끔 편집 및 저장하는 함수들로 구성되어 있습니다.
  • 예를 들면 회귀모형을 추정한 후 회귀 계수(regression coefficient)와 표준오차(standard error)를 편집하고자 할 때 매우 유용하게 쓰일 수 있습니다.
반응형
TAGS.

Comments