iBetter Books
수정

패키지 설치와 관리

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를 지정하면 각 패키지마다 확인 없이 모두 업데이트합니다. 업데이트 전에 중요한 분석 스크립트가 영향을 받을 수 있으니, 여유 있을 때 실행하는 것이 좋습니다.