Author : tmlab
/
Date : 2016. 10. 4. 01:03
/
Category : Lecture/R 프로그래밍
PR 9
Packages
조혁준
2016-04-28
Packages
- R에서 기본적으로 제공하는 함수 외에 다른 프로그래머들이 필요하다고 생각해서 만들어 놓은 함수들의 모음입니다
- 그걸 서로 공유해서 사용하는거죠
- 이걸 보통 library 또는 API라고 부릅니다
- R에서는 보통 CRAN에서 R 재단이 인정한 패키지들을 공유합니다
- 비공식적이지만 개인이 만들어서 공유하는 패키지들이 있는데 보통 github에 올라와 있습니다
설치
- 이미 해보셨겠지만 설치할때 사용하는 명령어는
install.packages
입니다. - 다음수업부터 사용할 ggplot2 패키지를 설치해보겠습니다
- 해당 명령어는 패키지가 깔려 있어도 실행하면 계속 인스톨합니다
- 그러니 한번 깔면 지우거나 주석처리합시다...
불러오기
- 패키지를 불러올 때 사용하는 명령어는
library(package 이름)
또는require(package 이름)
입니다.- library와 require의 차이는 library는 패키지가 있으면 불러오는 거고, require는 불러오려는 시도를 하고 logical한 return값을 반환합니다.
- 그냥 library쓰세요...
Out[3]:
- "ggplot2"
- "stats"
- "graphics"
- "grDevices"
- "utils"
- "datasets"
- "methods"
- "base"
- 이제부터 ggplot2의 함수들을 사용할 수 있습니다
패키지 업데이트 방법
- 패키지 개발자가 자신이 만든 패키지의 기능을 보완하거나, R버전이 업데이트 되서 호환이 되게 수정하거나 오류사항을 수정해서 다시 올리는 일이 있습니다
- 이 때 패키지를 업데이트 해줘야 합니다
- 명령어는
update.packages(패키지 이름)
입니다 - R studio를 쓰시는 경우에는 우측 하단에 packages라는 탭이 보이는데, 해당 탭 바로 밑에 update라는 항목이 보일겁니다.
- 이걸 누르고 원하는 패키지 또는 전체 패키지를 선택하고 업데이트 눌러주시면 됩니다
비공식 패키지 인스톨 하기
- 이제 비공식적인 패키지들을 까는 법을 설명하겠습니다
- github에 있는 패키지들을 까는 법을 배울겁니다
- 먼저 devtools라는 패키지를 사용해야 합니다
- github에 있는 패키지를 인스톨 하는 방법은
install_github("아이디/저장소")
입니다- 저는 halrequin이란 아이디를 가진 사람이 올린 func 저장소에 있는 패키지를 인스톨 하겠습니다
- 해당 저장소에 들어 있는 패키지의 이름은 rcv로 들어있는 함수는 단 하나입니다
- rcv 함수는 패키지가 인스톨 되어 있으면 그냥 불러오고, 인스톨 되어 있지 않다면 인스톨 후 불러오는 함수 입니다
function (x)
{
for (i in x) {
if (!is.element(i, .packages(all.available = TRUE))) {
install.packages(i)
}
library(i, character.only = TRUE)
}
}
불러온 패키지 사용중지하기
- R에선 패키지별로 함수의 이름이 중복이 될 수 있습니다
- 따라서 순서가 틀릴 경우 에러가 날 수 있는데요, 이 때 패키지를 불러온 것을 취소하고 다시 불러올 수 있습니다
- 명령어는
detach('package: 패키지 이름',unload=T)
입니다
함수 중복시 해결방안
- 하지만 항상 detach 하고 다시 부르기엔 귀찮을 수 있습니다
- 그럴땐
패키지 이름::함수명
으로 사용할 수 있습니다 - 이 방법은 패키지 콜링을 안하고 해당 함수를 사용할 때도 사용할 수 있습니다.
dplyr
패키지를 인스톨하세요- 인스톨한 패키지를 콜링하세요
devtools
패키지를 콜링한다음에 github에 있는 패키지를 하나 인스톨해보세요