더북(TheBook)

07 | 패키지 사용하기

R의 가장 큰 장점 중 하나는 전 세계 사용자들이 구축해놓은 다양하고 방대한 패키지다. 이 패키지들의 목록은 CRAN에 접속하여 좌측 메뉴에서 ‘Packages’를 눌러 확인해볼 수 있다. 특히 ‘CRAN Task Views’ 페이지로 들어가면 각 패키지를 Bayesian, ChemPhys, Cluster, Differential Equation 등으로 분류해놓은 것을 볼 수 있는데, 각 분류를 눌러 들어가면 어떤 상황에서 어떤 패키지를 사용할 수 있는지 좀 더 쉽게 확인할 수 있다.

패키지를 사용하는 데 필요한 대표적인 함수는 다음과 같다.

표 1-2 패키지 사용 관련 함수

install.packages : 패키지를 다운로드해서 설치한다.

install.packages(
  pkgs,         # 설치할 패키지명 
  dependencies  # 기본값은 NA 며, pkgs가 동작하는 데 필요한 패키지를 설치한다. TRUE로 지정하면 
                # 이에 더해 패키지 제작자가 추천하는 패키지 역시 설치된다. 
)

update.packages : 현재 설치되어 있는 패키지 중 새 버전이 존재할 경우 업데이트한다.

update.packages(
  ask=TRUE  # 기본값은 TRUE며, 각 패키지마다 설치 여부를 묻는다. ask=FALSE를 지정하면 모든
            # 패키지를 확인 없이 업데이트한다.
)

library : 패키지를 로드하여 사용할 준비를 한다.

library(
  package,  # 사용할 패키지명
  help      # 패키지에 대한 도움말을 보고자 할 경우 사용   
)

한 예로 R에서 랜덤 포레스트Random Forest 알고리즘을 지원하는 randomForest 패키지를 사용하는 경우를 생각해보자. randomForest를 다운로드해서 설치하기 위해 install.packages(“randomForest”) 명령을 사용해 randomForest 패키지를 설치한다. install.packages( ) 명령을 입력하면 미러mirror를 선택하는 화면이 나오는데, 이때 Korea 또는 원하는 미러를 선택하면 된다.

> install.packages("randomForest")
--- Please select a CRAN mirror for use in this session ---
Loading Tcl/Tk interface ... done
trying URL 'http://cran.nexr.com/bin/macosx/leopard/contrib/2.15/randomForest_4.6-7.tgz'
Content type 'application/x-gzip' length 206287 bytes (201 Kb)
opened URL
==================================================
downloaded 201 Kb

The downloaded binary packages are in
/var/folders/3t/kmb3lgcn5bxf6m020rhnphsm0000gp/T//RtmpdmgXpE/downloaded_packages
>

패키지를 설치한 후 시간이 지나서 새로운 버전이 나왔다면 update.packages( )를 사용해 패키지들을 업데이트할 수 있다. 이 명령은 설치된 패키지들을 확인해 최신 버전이 있을 경우 자동으로 업데이트한다.

설치한 패키지를 사용하려면 ‘library(패키지명)’을 사용해 패키지를 불러들인다.

> library(randomForest)
randomForest 4.6-7
Type rfNews() to see new features/changes/bug fixes.

이제 randomForest 패키지에 있는 다양한 함수를 사용할 준비가 끝났다. 실제 randomForest 패키지 안에 있는 함수의 목록은 library(help=“randomForest”)로 볼 수 있다. 그림 1-14에 결과 화면을 보였다.

그림 1-14 library(help="randomForest")의 결과 화면

그러나 함수 이름과 간략한 설명만으로 패키지의 기능을 모두 파악하는 것은 쉽지 않다. 이 경우 CRAN 홈페이지의 패키지 설명 페이지를 참고하도록 한다. 예를 들어, randomForest의 설명 페이지는 http://cran.r-project.org/web/packages/randomForest/index.html에 있고, 여기서 ‘Reference Manual’을 눌러 함수 목록과 도움말을 볼 수 있다.

경우에 따라서는 비네트vignette(R에서 사용 설명서에 해당하는 문서를 부르는 용어)를 제공하는 경우도 있다. randomForest에는 이런 문서가 없지만, 또 다른 기계 학습 관련 패키지인 caret에서는 비네트를 제공한다. 비네트는 http://cran.r-project.org/web/packages/caret/index.html의 경우처럼 패키지 설명 페이지에서 ’Vignettes’ 항목에 나열된 문서를 확인하면 된다.

<The R Journal><Journal of Statistical Software>에는 R 패키지 또는 해당 패키지를 사용한 데이터 분석에 관한 좋은 글이 많이 실려 있어 새로운 패키지를 배우는 데 많은 도움이 된다. <The R Journal>은 컴퓨터를 사용한 통계에 대한 참고자료를 누구나 자유롭게 찾아볼 수 있는 저널로, http://journal.r-project.org/에서 자료를 다운로드할 수 있다. <Journal of Statistical Software>는 논문, 소프트웨어나 도서 리뷰, 코드 예제를 제공하는 통계 소프트웨어와 알고리즘 전반을 다루는 곳으로 http://www.jstatsoft.org/에서 내용을 볼 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.