본문 바로가기
R Basics

R 패키지 관리

by Nowkeeh Ahc

R 에서 어떤 작업을 하기 위해서는 해당 기능을 하는 패키지가 필요하다. 패키지란 어떤 기능을 하는 프로그램이라고 생각하시면 된다. 

R 을 잘 사용한다는 의미는 원하는 업무나 기능에 적당한 패키지를 찾아서 잘 사용해서 결과물을  만든다는 의미이기도 하다. 그리고 각 패키지마다 사용방법이나 문법들이 모두 다르기 때문에 아주 어려운 부분이기도 하다. 즉 다양한 패키지들을 얼마나 잘 활용할 수 있는가 라는 부분이 아주 중요하다.  

이런 패키지는 R 을 설치할 때 함께 설치되는 기본 패키지가 있고 만약 찾는 기능이 없을 경우 원하는 기능을 구현해 주는 패키지를 찾아서 추가로 설치 한 후 사용하면 된다. 참고로 추가 패키지는 2014년 5월 현재 5,511개 정도 였던 것이 2017년 2월 현재 약 1만개의 패 키지가 개발되어 www.cran.r-project.org에 올라가 있으며 CRAN에서 제공받을 수 있다. 
이 추가 패키지가 R 의 아주 커다란 장점입니다.  

이 패키지들은 CRAN (http://cran.r-project.org) 이란 사이트에서 모두 검색 가능하고 다운로드 받을 수 있다.  
그런데 이 사이트들이 모두 영어고 또 종류가 너무 많아서 정확한 패키지 이름을 알지 못하면 이 곳에서 특정 패키지를 찾는 것은 현실적으로 어려울 수 있다. 그래서 대부분 구글진에서 원하는 검색어 등을 입력해서 패키지를 찾고 활용하는 방법을 많이 사용한다.  예를 들어 회귀분석을 하고 싶은데 어떤 패키지를 어떻게 사용해야 할 지 모르겠다면 다음 그림과 같이 구글에서 검색어 치는 부분에 “회귀분석 in r “ 이라고 조회하면 회귀 분석 관련 내용들이 쭉 나오는데 그 글들을 읽어 보면 회귀분석을 어떻게 하는 지 잘 알 수가 있다. 

위처럼 "키워드 in r"의 형태로 검색하면 대부분 나온다.

패키지를 다운로드 받는 공식 사이트는 아래 화면처럼 http://cran.r-project.org/ 사이트인데 왼쪽 메뉴를 보면 Packages 가 있는데 그 곳을 클릭해서 보면 아주 많은 패키지가 있다. 

주의 사항은 R 을 실행할 때 관리자 계정으로 실행한 후 아래 패키지를 설치해 야 에러가 없다.

일반 계정으로 패키지를 설치할 경우 간혹 문제가 발생하는 경우도 있으니 꼭 R 을 실행할 때는 관리자 권한으로 실행해 주길 바란다. 패키지를 얼마나 많이 알고 잘 사용하는가가 R 실력의 척도가 된다고 봐도 무방하다.

 

1) 패키지 설치하기 명령 - install.packages()

패키지를 추가로 설치하기 위해서는 필요한 패키지 이름을 확인 후 install.packages("패키지명") 을 수행하면 해당 패키지가 다운로드 되고 설치가 된다. 아래의 예는 3D Pie Chart 를 그릴 때 사용하는 plotrix 패키지를 설치하는 화면이다. 오른쪽의 작은 창에서 맨 아래에 는 (other mirrors) 를 선택하고 ok 를 누른 후 Korea(Ulsan)을 선택한다. 

설치가 완료되면 다음 화면처럼 설치 정보를 보여준다.

위 화면에서 하나의 패키지를 설치하기 위해 install.packages("plotrix") 의 명령을 사용했는데 만약 여러 개의 패키지를 동시에 설치하고 싶다면 install.packages(c("aaa","bbb")) 와 같은 형식 으로 사용해도 된다. c( ) 부분은 뒤에서 배우는 배열이라는 방법으로 여러 항목을 한꺼번에 지 정해야 할 때 사용하는 방법이다.

이렇게 패키지를 설치하라고 하면 인터넷을 통해 패키지가 있는 CRAN 사이트를 다운로드 받아야 하기 때문에 위와 같이 다운로드 받을 사이트를 선택하라 고 하고 선택하면 다운로드를 진행한 후 설치를 완료한다.

"참고로 CRAN 은 the Comprehensive R Archive Network 의 약자로 동일한 내용을 여러 곳으로 복사를 해 둔 네트워크 라는 의미가 있다."

위 화면에서는 패키지가 정상적으로 설치가 된 경우인데 만약 R을 관리자 권한으로 실행하지 않 았을 경우 가끔 권한 문제로 install.packages(“plotrix”) 메시지 바로 아랫줄에 “기록 될 수 없습 니다” 라는 경고 메시지가 나오는 경우가 있다. 이런 메시지가 나오는 경우는 해당 컴퓨터에 패키지를 설치 할 수 있는 권한이 없어서 더 진행이 안되는 경우이므로 이 메시지가 나오는 지 잘 봐야한다.

이런 메시지 귀찮으면 그냥 R 프로그램을 실행하실 때 무조건 관리자 권한으로 실행하시면 된다.

 

2) 패키지 사용하기 - library / require 명령

설치가 완료된 패키지를 사용하기 위해서는 library 명령어나 require 명령어를 사용하여 해당 패키지가 설치된 경로를 R 에게 알려줘야 한다.  쉽게 이야기 하면 컴퓨터에 엑셀 프로그램이 필요할 경우 먼저 설치를 한 후 아이콘을 실행해야 엑셀 프로그램을 사용할 수 있는 것과 같다.

 R 에서도 특정 패키지에 있는 다양한 기능들을 사용하려면 패키지설치 -> 패키지 실행 이라는 과정을 반드시 거쳐야 한다. 위에서 설치한 plotrix를 사용하려면 library(plotrix)로 적어주면 '해당 패키지가 어디에 설치되어 있다' 라는 것을 알려주기 때문에 R 이 실행 도중에 해당 프로그램이 필요할 경우 저 경로에 가서 파일을 찾아서 수행하게 된다.

 


* 팁으로 자주 사용하는 패키지를 자동을 library() 하는 방법을 설명하겠다.

다양한 방법이 있지만 내가 쓰는 방법을 소개한다. 사용자가 R을 실행을 하면 R 프로그램은 초기 기본 설정 값을 읽어서 실행을 하게 된다. 이 설정 값이 저장되어 있는 파일의 경로는 아래와 같다. 

C:\Program Files\R\R-자신의버전번호\etc\Rprofile.site 

위 경로에서 R 버전이 3.4.1 이라면 R-3.4.1 로 된다. 위 파일에 내가 실행할 패키지명을 library(“KoNLP”) 와 같이 적어주면 R을 실행할 때마다 자동으로 수행이 된다. 
이 파일은 메모장으로 수정이 된다. 그런데 문제는 그냥 메모장으로 열어서 불러오기 해서 편집을 하면 저장을 할 수 없다. 그래서 '모든 프로그램 -> 메모장' 을 마우스 오른쪽 버튼을 누르신 후 관리자 권한으로 실행 하셔 서 메모장을 실행한 후 위 경로에 있는 이 파일을 불러오기 한 후 아래의 내용으로 편집 하 시고 다시 같은 이름으로 저장할 때 덮어 쓰기 하면 된다. 파일에서 변경될 내용은 아래와 같다. 아래 내용 중에 # 으로 시작하는 줄은 주석으로 실제 코드가 실행될 때는 실행 안 되는 줄이다.

# Things you might want to change 
# options(papersize="a4") 
# options(editor="notepad") 
# options(pager="internal") 
# set the default help type 
# options(help_type="text") 
# options(help_type="html") 
# set a site library 
# .Library.site <- file.path(chartr("\\", "/", R.home()), "site-library") 
# set a CRAN mirror 
# local({r <- getOption("repos") 
#       r["CRAN"] <- "http://my.local.cran" 
#       options(repos=r)}) 
# Give a fortune cookie, but only to interactive sessions 
# (This would need the fortunes package to be installed.) 
#  if (interactive())  
#    fortunes::fortune() 
# 여기 위 까지는 원래 있던 내용인데 한 줄로 보이는 것을 보기 좋게 하기 위해서 

# 위와 같이 여러 줄로 줄바꿈을 엔터키 쳐서 만들었습니다. 

# 여기 아래 내용부터 제가 추가한 내용입니다. 
# General options  
 options(tab.width = 2)  
 options(width = 130) 
 options(graphics.record=TRUE)  
 
 .First <- function(){ 
  library(“KoNLP”) 
  library(“googleVis”) 
  library(“tm”) 
  library(“wordcloud”) 
  cat("\nWelcome at", date(), "\n")  
 } 
 
 .Last <- function(){  
  cat("\nGoodbye at ", date(), "\n") 
 }

28번째 줄부터 32번째 줄에 자동으로 실행할 작업들을 적어 주면 된다. 위 작업을 다 한 후 R을 실행하면 자동으로 28-32줄에 적어 둔 패키지들이 실행되는 것을 확인할 수 있다.

당연히 위에 적어준 패키지들은 먼저 install.packages() 가 되어 있어야 한다.


 

3) 패키지 업데이트 하기 - update.packages() 명령

만약 설치되어 있는 패키지를 업데이트 하려면 update.packages("패키지명") 을 사용하면 되고 만약 패키지 명을 안 쓰면 자동으로 모든 패키지의 업데이트 내역을 확인해서 모든 패키지를 업데이트 하게 된니다. 그런데 패키지 이름을 안 쓰면 모든 패키지들을 다 조사해서 업데이트 하기 때문에 시간이 아주 오래 걸릴 수 있으니까 꼭 패키지 이름을 적어야 한다.

'

그리고 설치된 패키지들의 경로를 확ㅇ니하려면 아래와 같이 조회하면 된다.

아래 그림과 같이 installed.packages() 명령을 사용하면 어떤 패키지들이 설치되어 있는지 이름을 바로 확인할 수 있다.

 

 

4) 패키지 삭제하기 - remove.packages 명령

설치되어 있는 패키지르 ㄹ삭제하려면 remove,packages("패키지명")을 사용하면 된다.

아래 예는 위에서 설치한 plotrix 패키지를 삭제하는 화면이다.

댓글