> library(gtsummary)
7 R package 기초
R의 핵심은 아주 작다. 그 핵심을 보통 base R
이라고 부른다. R의 가장 큰 장점의 하나는 이 base R
에 다양한 기능을 추가하여 사용할 수 있는 패키지(package)가 다양하다는 것이다.
이런 패키지는 R 사용자들이 개발하여 공유하는 것으로 CRAN 사이트를 통해서 배포된다. 오늘 기준 22,251개의 패키지가 등록되어 있다. 이것은 공식 등록된 숫자에 불과하다. 깃허브 등에는 더 많은 패키지들이 있다. 그리고 점점 더 많은 사람들이 패키지를 개발하여 공유한다.
7.1 (RStudio에서) 패키지 설치하고 사용하는 과정
처음에 베이스 R을 설치하고 어떤 패키지가 필요해졌다고 생각해 보자. 아래 패키지를 설치하고 사용하는 과정을 간단하다.
- 인터넷을 통해서 CRAN 등의 사이트에서 필요한 패키지를 다운로드한다.
- R 세션에서 그 패키지가 필요하면 로딩하여 사용한다.
7.1.1 패키지 설치
RStudio는 패키지를 설치 관리하는 창을 제공한다. “Packages”라는 창을 선택한다.
RStudio는 패키지를 다운로드할 CRAN 사이트를 디폴트로 지정한다. “Install” 창에서 다운로드할 패키지 이름을 입력하면 자동으로 내 컴퓨터에 설치된다.1
어떤 R 패키지가 단독으로 개발되는 경우는 흔하지 않다. 오히려 다른 패키지를 의존하여 개발되는 경우도 많다. 그림 그림 7.2를 보면 아래에 Install dependencies
가 디폴트로 체크되어 있다. 이런 경우은 그 의존하는 패키지도 함께 설치되기 때문에 굳이 신경쓸 필요는 없다.
7.1.2 패키지 사용
이렇게 다운로드된 패키지를 사용하고자 할 때는 library()
함수를 사용한다. 함수 안에 패키지 이름을 쓰면 된다. 따옴표로 붙여도 되고 붙이지 않아도 된다.
그리고 R 패키지들은 자주 업데이트된다. 그림 그림 7.1에서 “Update”를 클릭하면 CRAN에 등록된 패키지의 버전과 내 컴퓨터에 저장된 패키지의 버전을 서로 비교하여 업데이트가 필요한 패키지들을 자동으로 보여준다.
7.2 어떤 패키지를 사용할 것인가?
수많은 R 패키지들이 있는데 여기서 어떤 것을 사용해야 할지 모를 수 있다. 좋은 답은 아니겠지만 R을 공부하고 사용하다 보면 대체로 알게 된다. 모르면 검색이나 ChatGPT에게 질문해도 좋다.
7.3 이름 공간(namespace)
서로 다른 저자들이 cal_abc()
라는 함수를 여러 개 만들어 R 패키지롤 올렸고, 이런 패키지를 몇 개 다운로등하여 사용한다고 생각해 보자.
이런 경우, library()
함수로 나중에 로딩한 패키지의 cal_abc()
함수가 이전에 로딩한 패키지의 cal_abc()
를 덮어버린다.
R search()
함수는 R 인터프리터가 어떤 이름을 찾아가는 순서를 말해준다.
[1] ".GlobalEnv" "package:gtsummary" "package:dplyr"
[4] "package:ggplot2" "package:stats" "package:graphics"
[7] "package:grDevices" "package:utils" "package:datasets"
[10] "package:methods" "Autoloads" "package:base"
이 순서를 보면 제일 먼저 .GlobalEnv
가 오고 그 다음은 맨 마지막에 로딩된 패키지순으로 나열되어 있다.
7.4 이름 공간 연산자
A
패키지의 cal_abc()
가 나중에 로딩된 B
패키지의 cal_abc()
함수에 의해 덮어진 경우에 ::
를 사용하여 A::cal_abc()
라는 문법을 사용하여 이 패키지의 cal_abc()
를 사용할 수 있다.
7.5 패키지에는 어떤 것이 들어 있는가?
패키지에는 보통 특수한 목적에 맞게 개발된 R 함수들이 주로 들어 있다. 간간히 데이터셋만 제공하는 패키지도 있고, 많은 경우 데이터셋, R 함수들이 같이 포함되어 있다.
7.6 패키지 사용법을 익히는 방법
어떤 패키지의 사용법을 익히고자 할 때 가장 유용한 정보를 제공하는 문서가 비니에트(vignette)이다. 비니에트는 사용법을 전체적인 맥락에서 설명하는 문서이고, 많은 R 패키지 개발자들이 비니에트를 제공한다(이에 반해 R 도움말은 (영어) 사전과 같은 역할을 한다고 생각하면 된다).
찾는 방법은 간단하다. 그림 7.1에서 패키지 이름을 클릭한다. 이 경우엔 “gtsummary”를 클릭한다.
위 그림에서 “User guides, package vignettes and other documentation.”을 클릭해서 읽는다.
또는 그림 7.3에서 “DESCRIPTION file”을 클릭한다. 그 안에 “URL” 항목이 있고, 여기에 개발 소스 코드가 있는 곳을 알려준다. 여기를 클릭한다. 대부분 코드를 공유하는 깃허브(GitHub) 사이트인 경우가 많다. 사이트를 가 보면 그림 7.4과 같이 오른쪽에 패키지 설명 사이트가 있는 경우가 많다. 여기도 배울 것이 많다.
보통
.libPaths()
라는 함수를 실행하여 컴퓨터에서 패키지가 저장된 곳을 찾을 수 있는데, 이것을 사용할 일은 거의 없을 것이기 때문에 무시해도 된다. 단, 지정된 위치에 저장된다는 것쯤은 알고 있자.↩︎