패키지 설치와 관리
R의 기본 기능만으로도 많은 것을 할 수 있지만, 패키지를 추가하면 훨씬 강력해집니다. 패키지는 다른 사람이 만들어 공개한 함수와 데이터의 묶음으로, 복잡한 기능을 손쉽게 사용할 수 있게 해줍니다.
CRAN이란
CRAN(Comprehensive R Archive Network)은 R 패키지의 공식 저장소입니다. 전 세계 미러 서버에 2만 개가 넘는 패키지가 등록되어 있으며, install.packages() 함수를 실행하면 CRAN에서 자동으로 패키지를 내려받아 설치합니다.
패키지 설치하기
패키지 설치는 install.packages() 함수를 사용합니다. 패키지 이름은 따옴표로 감싸야 합니다.
install.packages("ggplot2")
여러 패키지를 한 번에 설치하려면 c()로 이름을 묶어 전달합니다.
install.packages(c("dplyr", "tidyr", "readr"))
설치는 한 번만 하면 됩니다. 이미 설치된 패키지를 다시 install.packages()로 실행하면 최신 버전으로 업데이트됩니다.
패키지 불러오기
설치가 끝났다고 바로 사용할 수 있는 것은 아닙니다. R 세션에서 패키지를 사용하려면 library() 함수로 불러와야 합니다.
library(ggplot2)
library()는 따옴표 없이도 동작합니다. 스크립트 맨 위에 모아두는 것이 일반적인 관례입니다.
library(dplyr)
library(tidyr)
library(readr)
library(ggplot2)
install.packages()와 library()의 차이를 정리하면 아래와 같습니다.
| 함수 | 역할 | 실행 빈도 |
|---|---|---|
install.packages() |
패키지를 컴퓨터에 내려받아 저장 | 한 번 (또는 업데이트 시) |
library() |
저장된 패키지를 현재 세션에서 활성화 | R을 실행할 때마다 |
tidyverse 한 번에 설치하기
tidyverse는 데이터 분석에서 자주 사용하는 패키지들을 모아놓은 패키지 모음입니다. 하나만 설치하면 핵심 패키지 여러 개가 함께 설치됩니다.
install.packages("tidyverse")
설치 후 불러오면 포함된 패키지 목록이 출력됩니다.
library(tidyverse)
── Attaching core tidyverse packages ──────────────── tidyverse 2.0.0 ──
✔ dplyr 1.1.4 ✔ readr 2.1.5
✔ forcats 1.0.0 ✔ stringr 1.5.1
✔ ggplot2 3.5.1 ✔ tibble 3.2.1
✔ lubridate 1.9.3 ✔ tidyr 1.3.1
✔ purrr 1.0.2
tidyverse에 포함된 주요 패키지와 역할은 아래와 같습니다.
| 패키지 | 역할 |
|---|---|
dplyr |
데이터 필터링, 집계, 변환 |
tidyr |
데이터 형태 변환 (wide ↔ long) |
readr |
CSV 등 텍스트 파일 읽기 |
ggplot2 |
그래프 시각화 |
stringr |
문자열 처리 |
lubridate |
날짜와 시간 처리 |
purrr |
함수형 프로그래밍 도구 |
이 책에서는 주로 dplyr, tidyr, ggplot2를 사용합니다. 처음부터 모든 패키지를 다 알 필요는 없습니다. 필요한 시점에 하나씩 만나게 됩니다.
설치된 패키지 확인하기
현재 설치된 패키지 목록은 installed.packages() 함수로 확인할 수 있습니다. RStudio에서는 오른쪽 아래 패널의 "Packages" 탭에서도 목록과 버전을 한눈에 볼 수 있습니다.
특정 패키지가 설치되어 있는지 확인하려면 아래 방법을 사용합니다.
"ggplot2" %in% installed.packages()[, "Package"]
[1] TRUE
패키지 업데이트하기
오래된 패키지를 한 번에 업데이트하려면 update.packages() 함수를 실행합니다.
update.packages(ask = FALSE)
ask = FALSE를 지정하면 각 패키지마다 확인 없이 모두 업데이트합니다. 업데이트 전에 중요한 분석 스크립트가 영향을 받을 수 있으니, 여유 있을 때 실행하는 것이 좋습니다.