[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
라이브러리를 불러오면 그에 따른 하위 라이브러리도 같이 구동되는 구조 입니다.
- Attaching packages를 보면 아시다시피
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)를 편집하고자 할 때 매우 유용하게 쓰일 수 있습니다.
반응형
'tidyverse' 카테고리의 다른 글
[R] 6. 날짜 및 시간 변수 (lubridate) (3) | 2021.07.05 |
---|---|
[R] 5. mutate() (0) | 2021.07.05 |
[R] 4. select(), filter(), group_by(), summarise(), arrange(), rename() (0) | 2021.07.05 |
[R] 3. 파이프 오퍼레이터 (%>%) (0) | 2021.07.05 |
[R] 2. tibble 데이터 (0) | 2021.07.05 |
TAGS.