R을 더욱 강력하게 만들어주는 마법 같은 존재, 바로 패키지(Package)입니다. R 자체적으로도 base 계열의 기본적인 함수들을 제공하지만, 전 세계 수많은 전문가들이 짜놓은 편리한 도구들(함수 꾸러미 및 확장 패키지)을 다운로드하여 활용하면 복잡한 데이터 분석과 시각화, 심지어 머신러닝 모델링도 단 몇 줄의 코드만으로 가능해집니다.
오늘은 R에서 패키지를 설치하고 메모리에 불러오는 가장 확실한 방법과 더불어, 설치 시 자주 마주하는 윈도우 환경 고질적인 에러(00LOCK, 라이브러리 경로 오류 등) 해결법을 최신 트렌드를 반영하여 완벽하게 가이드해 드리겠습니다!
1. 패키지 설치법 기초: CRAN 공식 패키지
R의 가장 일반적이고 권장되는 패키지 설치 방법은 전 세계 R 공식 저장소인 CRAN (The Comprehensive R Archive Network)을 통하는 것입니다. RStudio나 Positron 메뉴에서 Tools > Install packages 기능을 사용하여 설치할 수도 있지만, 코드로 스크립트에 남겨두면서 설치하는 것이 재현성 있는 데이터 분석을 위해 훨씬 좋습니다.
패키지를 다운로드 받아 로컬 시스템에 최초로 설치하려면 install.packages() 함수를 사용합니다.
# remotes 패키지 설치 예시
install.packages("remotes")
(예시로 설치한 remotes 패키지는 외부 깃허브 등에서 공유되는 패키지를 추가로 다운받을 수 있게 도와주는 아주 유용한 관리 도구입니다.)
⚠️ 주의할 점: 패키지의 ‘설치’와 ‘불러오기’는 명백히 다릅니다!
R 초보자들이 가장 많이 겪는 실수 중 하나가 패키지를 마우스나 코드로 설치만 하고 곧바로 그 안의 특정 함수를 쓰려고 하다가 "could not find function" 에러를 겪는 것입니다. 설치를 마친 것은 스마트폰에 앱을 깔아만 둔 것이지, 실행한 것이 아닙니다.
R 프로그램에게 “앞으로 데이터 세션 동안 이 패키지에 있는 함수들을 꺼내 쓰겠다”고 미리 선언해 무대에 올려주는 작업이 반드시 필요한데, 이때 library() 함수를 사용합니다.
# 설치되어 있는 패키지 메모리에 우선 로드하기
library(remotes)
만약 R 4.x 이상 트렌드에 익숙하시다면, 가끔 충돌을 방지하기 위해 전체 패키지를 부르지 않고 독립적으로 꺼내 쓰는 방식이 더 권장되기도 합니다.
💡 핵심 팁 (Namespace 이해 및 더블 콜론 `::` 사용법)
패키지 안의 특정 함수 딱 하나만 쓰고 싶을 때 매번
library()로 거대 패키지 전체를 불러올 필요는 없습니다.패키지이름::함수이름()형태로 콜론 두 개(::)를 연속으로 사용하면 메모리 낭비 없이 해당 함수만 안전하게 콕 집어 쓸 수 있습니다.
예: 여러 패키지의 함수 이름이 겹치는 것을 막아주는stats::filter()
2. 개인이 배포한 패키지 설치하기 (Github 연동)
실제 데이터 분석 실무를 하다 보면 CRAN에 정식 등록되기 직전이거나, 개발자들이 Github(깃허브)에 베타 버전으로 공개해 둔 최신 유행 패키지를 설치해야 할 일들이 많습니다. (예를 들어, RStudio나 문서 작업 UI를 예쁘게 꾸며주는 rsthemes 같은 유틸리티성 패키지들이 그렇습니다.)
이때는 앞서 컴퓨터에 설치하고 불러왔던 remotes 패키지의 힘을 빌립니다. 내장된 install_github() 함수를 사용하면 깃허브 저장소 주소에 있는 패키지 압축파일을 즉시 다운받아 내 PC 라이브러리에 안정적으로 설치할 수 있습니다.
# gadenbuie라는 개발자가 만든 rsthemes 패키지 설치하기
remotes::install_github("gadenbuie/rsthemes")
(만약 library(remotes)를 쳐 두었다면, install_github() 단독으로만 쳐도 작동합니다!)
3. 자주 발생하는 패키지 설치 오류 완벽 해결법
새로운 패키지 설치를 진행하다 보면 도중에 빨간색 에러 메시지를 보게 되는 일이 너무나 흔합니다. 당황하지 마세요. 가장 널리 발생하는 대표적인 윈도우 환경 에러 2가지와 그 현명한 강제 해결책을 알려드립니다!
에러 1. 권한 거부 및 00LOCK 메시지 발생
기존에 이미 패키지가 깔려 있거나 바이러스 검사 프로그램과의 충돌, 설치 도중 R이 강제 종료되었을 때 등 상황이 꼬였을 때 자주 등장하는 악명 높은 “Permission denied” 에러입니다. 출력된 메시지 안에 대문자 00LOCK 이라는 단어가 들어있다면 거의 100% 이 케이스입니다.
Error: problem copying C:\R\R-4.x.x\library\00LOCK-magrittr\magrittr\libs\x64\magrittr.dll to C:\R\R-4.x.x\library\magrittr\libs\x64\magrittr.dll: Permission denied
이럴 때는 R이 임시적으로 걸어둔 파일 보호 잠금(Lock) 옵션을 강제로 풀고, 이를 무시하면서 새 버전을 덮어씌워버리도록 설치 옵션을 넘겨주면 바로 해결됩니다.
# 무적의 LOCK 옵션 무시 강제 설치 명령어 패턴
install.packages("magrittr", type = "source", INSTALL_opts = "--no-lock")
에러 2. R 라이브러리 경로 설정 오류 (lib가 지정되지 않았습니다)
윈도우 운영체제 환경에서 회사나 학교 PC로 패키지를 처음 설치하려고 할 때, 아래와 같이 내문서 등 이상한 다운로드 경로가 자동으로 잡혀버리거나 설치 권한이 끝끝내 거부되는 짜증나는 경우가 있습니다.
Warning in install.packages :
‘C:/Users/자기이름/Documents/R/win-library/4.x’의 위치에 패키지(들)을 설치합니다.
(왜냐하면 ‘lib’가 지정되지 않았기 때문입니다)
이 현상은 본인이 패키지를 설치해서 보관할 메인 폴더가 시스템 환경 변수 상에 제대로 지정되지 않아 발생합니다. 이럴 때는 윈도우 환경변수 편집창을 열고 R_LIBS_USER 라는 R 전용 사용자 변수를 직접 깔끔하게 지정해주시면 원천적으로 해결됩니다.
- 윈도우 시작 하단 검색창에서 ‘환경 변수 편집’ 검색 및 실행
- 상단의 사용자 변수 목록에서 새로 만들기 클릭
- 변수 이름 창에:
R_LIBS_USER입력 - 변수 값 창에: 본인이 설치를 원하는 메인 라이브러리 경로 입력 (예: 개발용 폴더인
C:/DS/R-4.x.x/library등)
이렇게 세팅하고 재부팅(또는 RStudio 재설정)을 하고 나면, 앞으로 시스템상에 설치되는 모든 R 패키지들이 내 문서 등 이상한 곳으로 새어나가지 않고 지정한 폴더 안으로 이쁘게 정렬되어 관리됩니다!
지금까지 데이터를 요리하기 위한 핵심인 R 패키지 설치의 완전 기본기부터, 의외로 사람을 지치게 만드는 윈도우 에러 상황 대처법까지 전부 알아보았습니다. 다양한 패키지들을 두려움 없이 적극적으로 설치하면서 R 생태계의 진짜 무궁무진한 강력함을 온전히 느껴보세요!
당신이 좋아할 만한 콘텐츠
by Google Adsense