R은 기본적으로 선형 대수 구조과 데이터 분석에 필요한 통계 함수가 제공되고 있습니다. 이를 일반적으로 내장함수(Base함수)라고 정의하며, 이 외에도 새로운 기능이 필요한 경우 CRAN, github 등을 통해 패키지를 다운로드 할 수 있습니다. 

 

8.1. R 패키지(Package)의 개념과 구분

더보기

(1) 패키지의 개념

패키지란 사용자가 다양한 목적에 따라 만든 함수들의 집합을 의미합니다. 패키지는 함수 코드와 데이터, 설명서를 포함하여 배포하는 형태로 구성되어 있습니다. 패키지는 구분에 따라 다르지만, 기본적으로 설치와 활성화의 과정을 거쳐 사용할 수 있습니다. 

 

(2) 패키지의 구분

 ①Base Package : R 설치 시 같이 설치되고, 미리 활성화된 패키지

 ②Recommended Package : R 설치 시 같이 설치되나, 활성화는 되지 않은 패키지

 ③Other Package : R 설치 시 같이 설치되지 않은 패키지, 설치와 활성화를 요구

 

PLUS) <CRAN(The Comprehensive R Archive Network)>이란?

CRAN은 R의 최신 버전을 공유할 뿐만 아니라, 패키지들을 보관하는 저장소입니다. CRAN에 등재된 패키지들은 안정적이며 공인된 패키지를 의미하며, 쉽게 다운로드 받을 수 있다는 특징이 있습니다. 

 

8.2. R 패키지 설치

더보기

(1) CRAN 패키지 설치 함수, install.packages()

R 패키지를 설치할 땐 install.packages() 함수를 사용합니다. 함수는 구조와 주요 파라미터는 다음과 같습니다.

install.packages(pkgs, repos, dependencies, type, ∙∙∙)
 
파라미터 설명
  pkgs  (설치하고자 하는) 패키지 이름 
  repos  패키지의 저장소 정의
  dependencies  패키지의 종속성 확인
  type  패키지의 형식(binary, source) 정의

 

(2) 예시

예를 들어 CRAN에 등록된 lmtest 패키지를 설치해보겠습니다. (lmtest 패키지는 선형회귀분석의 여러 검정을 지원하는 패키지입니다.) 예시 코드는 다음과 같으며, 패키지가 성공적으로 다운로드 될 경우 아래의 메시지가 출력됩니다.

install.packages(pkgs="lmtest")

 

PLUS) 패키지 소스 파일로 설치하기

pkg 파라미터는 CRAN에 등록된 패키지이름 뿐만 아니라, 로컬에 존재하는 패키지 소스 파일 경로를 통해서도 다운로드 할 수 있습니다. 다만 repos, type 파라미터로 해당 패키지 형식을 정의해야합니다. 예를 들어 트리기반 그래디언트부스팅모델인 catboost 패키지는 현재 CRAN에 등재되지 않았는데, 이를 설치하고자 하는 경우 다음과 같습니다. catboost의 소스 파일은 <catboost release>를 통해 다운로드 할 수 있습니다.

install.packages(pkgs="c:/Users/CSH/Downloads/catboost-R-Windows-1.0.6.tgz", #경로설정
                 repos=NULL,
                 type="source")

 

8.3. R 패키지 관리

더보기

(1) 패키지 활성화 함수, library()

R에서 패키지 내 함수를 사용하고자 하는 경우, 패키지를 활성화 해야합니다. library() 함수를 통해 활성화할 수 있는데, 예를 들어 lmtest 패키지를 활성화하고자 하는 경우 다음과 같습니다.

library(package=lmtest)

 

(2) 패키지 비활성화 함수, detach()

활성화한 패키지를 비활성화하고자 할 경우, detach() 함수를 사용할 수 있습니다. 다만 detach() 함수는 다양한 용도로 사용되므로 패키지 비활성화를 하고자 할 경우, package:패키지명으로 인자를 투입해야합니다.

detach(name="package:lmtest", unload=TRUE)

 

(3) 패키지 삭제 함수, remove.packages()

패키지를 삭제하고자 하는 경우, remove.packages()를 사용하여 해당 패키지를 삭제할 수 있습니다. 예를 들어 lmtest 패키지를 삭제하고자 하는 경우 다음과 같습니다.

remove.packages(pkgs="lmtest")

 

(4) 패키지 업데이트 여부 확인 함수, old.packages()

old.packages() 함수는 현재 로컬에 설치된 패키지 중 업데이트가 필요한지 판별하는 함수입니다.

old.packages()

 

(5) 패키지 업데이트 함수, update.packages()

update.packages() 함수는 특정 패키지의 버전을 체크하고, 업데이트를 시행하는 함수입니다. 예를 들어 readxl 패키지를 업데이트하고자 하는 경우 다음과 같습니다. (readxl 패키지는 엑셀 데이터를 불러오는데 도움을 주는 패키지입니다.)

update.packages(oldPkgs="readxl")

 

PLUS) 패키지 중 이름이 중복되는 함수가 존재하는 경우

더보기

PLUS) 패키지 중 이름이 중복되는 함수가 존재하는 경우

간혹 여러 패키지에서 동일한 이름을 가지는 함수가 존재할 수 있습니다. 이 경우 마지막에 활성화한 패키지 내 함수가 실행됩니다. 특정 패키지의 함수를 출력하고 싶은 경우에는 함수명 앞에 ::을 붙여 패키지 이름을 정의하는데, 예를 들면 다음과 같습니다.

dplyr::filter() #dplyr 패키지의 filter() 함수를 사용하고 싶은 경우
stats::filter() #stats 패키지의 filter() 함수를 사용하고 싶은 경우

 

PLUS) R 패키지 설치 경로 변경

더보기

(1) 좌측 하단의 돋보기 버튼을 클릭 후, "edit the system environment variables"라고 검색합니다.

 

(2) [Environment Variables...]버튼을클릭합니다.

 

(3) System Variables 칸의 [New...]버튼을 클릭합니다.

 

(4) Variable name은대문자를구분하여"R_LIBS"으로, value는 원하는 경로로 지정합니다.

 

(5) 컴퓨터를 재부팅합니다.

 

'Ⅰ. R 기초' 카테고리의 다른 글

10. 데이터 구조 파악하기  (0) 2020.09.28
9. 데이터 유형 파악하기  (0) 2020.09.25
7. 함수 구조와 파라미터 이해하기  (0) 2020.09.23
6. 객체 생성 및 관리하기  (0) 2020.09.22