R 개발자가 ‘R-universe’로 패키지 생태계 운영하는 법

R 패키지는 R에서 사용할 수 있는 기능들의 집합으로, 다른 프로그래밍 언어의 라이브러리와 유사하다. 매트랩(Matlab)과 같은 통계 분석 프로그램에 가까우며, 다양한 데이터 분석 도메인에 필요한 확장성을 갖추고 있다. 이번 글에서는 R-universe 플랫폼의 패키지 배포 방식을 통해 R 생태계를 살펴본다.
R 패키지
현재 R 패키지는 10만 개 이상 존재하며, ‘ggplot2’를 예로 들어 산점도 그리기 코드를 소개한다.

‘ggplot’을 사용할 경우 시각화와 코드 작성의 편의성이 향상된다.

R 패키지 만들기
사용자가 자신만의 통계 분석 코드나 시각화 코드를 만들고 이를 공유하기 위해 R 패키지를 만들 수 있으며, 배포 방법에는 4가지가 있다.
- Mirror
- VCS(Version Control System)
- 압축 파일
- 텍스트
주로 1번 미러와 2번 VCS를 통해 공유된다. VCS에서는 개인이 리포지토리를 생성하고 패키지를 커밋하여 공유할 수 있다. 미러는 CRAN, Bioconductor, R-forge와 같은 플랫폼을 포함하며, 게시 기준이 존재한다.
CRAN과 깃허브

R 패키지를 CRAN에 올리는 것은 까다로운 과정이지만, 많은 개발자들이 깃허브를 선호한다. 그러나 무관리 상태로 방치되는 경우가 많다. R 패키지 정보를 확인할 수 있는 검색 페이지 ‘rdrr.io’가 존재한다.
‘useR!2024’ 콘퍼런스에서 R-universe에 대한 논의가 이루어졌다. 이는 개인 R 패키지를 통합하여 한 곳에서 관리할 수 있도록 돕는다.

퍼스널 ‘R-universe’ 만들기
퍼스널 R-universe는 기존 CRAN 데이터를 기반으로 생성되며, 새로운 패키지를 추가할 수 있다. 이를 위해 다음 절차를 따른다.
1) 깃허브 리포지토리 만들기
R-universe 개인 페이지를 생성하기 위해 리포지토리를 만든다.
2) packages.json 만들기
R 패키지 이름 및 URL을 담은 레지스트리 파일을 생성한다.
3) 깃허브 앱 설치하기
R-universe 앱을 설치하고 권한을 설정한다.
4) 연동 대기하기
연동 과정에서 GHA(Github Action)가 작동하여 패키지를 동기화한다.
5) 결과 및 마무리

R-universe는 패키지 빌드 현황, 패키지 관리, 그리고 여러 지표를 제공한다. 사용자는 R 패키지 검색과 사용을 더욱 편리하게 할 수 있다.
마치며
R-universe는 R 패키지를 쉽고 비용 없이 관리할 수 있는 웹 서비스이다. CRAN 및 깃허브 패키지를 통합 관리할 수 있어, 개발자들에게 유용한 환경을 제공한다.

해당 기사는 GPT를 이용하여 요약한 내용입니다.