R 패키지
R packageR 패키지는 R 통계 프로그래밍 언어의 확장입니다.R 패키지에는 코드, 데이터 및 문서가 표준 컬렉션 형식으로 포함되어 있으며, R 사용자는 일반적으로 CRAN(종합 R 아카이브 네트워크)[1][2] 등의 중앙 집중형 소프트웨어 저장소를 통해 설치할 수 있습니다.R이 이용할 수 있는 패키지의 대수와 그 설치와 사용의 용이성은, [3][4][5][6]데이터 과학에 있어서의 언어의 보급을 촉진하는 주된 요인으로서 지적되고 있습니다.
다른 프로그래밍 언어의 라이브러리와 비교하여 R 패키지는 비교적 엄격한 [3]사양을 준수해야 합니다.Writing R Extensions[7] 매뉴얼에서는 R의 내장 패키지 관리 [3]도구를 사용하여 설치 및 로드할 수 있는 R 소스 코드, 데이터, 문서 및 패키지 메타데이터에 대한 표준 디렉터리 구조를 지정합니다.CRAN에서 배포되는 패키지는 추가 [3][8]표준을 충족해야 합니다.John Chambers에 따르면, 이러한 요건은 패키지 개발자에게 "상당히 요구"하지만 최종 사용자의 패키지의 사용성과 [3]장기적인 안정성을 향상시킵니다.
저장소
포괄적인 R 아카이브 네트워크(CRAN)
포괄적 R 아카이브 네트워크(CRAN)는 R [9]Foundation이 지원하는 R의 중앙 소프트웨어 저장소입니다.여기에는 최신 및 이전 버전의 R 배포,[10] 설명서 및 기여 R 패키지의 아카이브가 포함되어 있습니다.Windows [11]및 MacOS용 소스 패키지와 미리 컴파일된 이진 파일이 모두 포함되어 있습니다.2020년 11월[update] 현재 16,000개 이상의 패키지를 이용할 [12]수 있습니다.CRAN은 1997년 [13][14]Kurt Hornik과 Friedrich Leisch에 의해 개발되었으며, TeX의 CTAN(1992년 출시)과 Perl의 CPAN(1995년 [15]출시)과 같은 다른 초기 포장 시스템과 병행하여 명명되었습니다.2021년 현재[update], 그것은 여전히 호닉과 [9]자원봉사자들에 의해 유지되고 있다.마스터 사이트는 Vienna Economics and Business University에 있으며 전 [10]세계 서버에 미러링되어 있습니다.
CRAN[16] 웹 사이트의 "작업 보기" 페이지(제목 목록)에는 R 패키지를 사용할 수 있는 광범위한 작업(재무, 유전학, 고성능 컴퓨팅, 머신 러닝, 의료 이미징, 메타 분석, 사회과학, 공간 통계 등)이 나열됩니다.CRAN 패키지를 참조하는 또 다른 방법은 Metacran에 [17]의해 제공되며, Metacran은 또한 가장 많이 다운로드된 패키지, 트렌드 패키지 또는 가장 많이 의존하는 패키지의 목록을 유지합니다.
CRAN 패키지의 수는 수년간 [18]기하급수적으로 증가하고 있으며, 2018년 현재[update] 매일 [6]평균 21건의 신규 또는 업데이트된 패키지가 제출되고 있습니다.R의 핵심 개발자인 Peter Dalgaard에 따르면, 각 제출물은 소규모 CRAN 유지관리 팀에 의해 수동으로 검토되기 때문에,[6] 이 시스템은 장기적으로 지속 가능하지 않을 것이라는 우려가 있습니다.CRAN의 성장에 따라 의존관계 관리 인프라스트럭처의 제약이 드러났습니다.특히 의존관계는 항상 패키지의 최신 버전을 참조하고 있기 때문에 CRAN 패키지의 새로운 릴리스는 항상 하위 호환성이 있어야 하며 [19]CRAN 패키지는 [20]CRAN에 없는 의존관계를 가질 수 없습니다.패키지의 [21]품질 저하도 우려되고 있다.
MRAN 및 RStudio 패키지 매니저
Microsoft R Application Network(MRAN)는 Microsoft가 관리하는 CRAN의 거울로, R, Microsoft R Open(이전의 Revolution R Open)[22]의 다운스트림 배포를 기반으로 합니다.또, 「CRAN Time Machine」이라고 하는 브랜드가 붙은 매일의 CRAN 스냅샷의 아카이브도 포함되어 있습니다.이것에 의해, 패키지 체크 포인트를 개입시켜 고정 세트의 [23][24]R패키지 버전을 인스톨 하는 것에 의해서, MRAN 유저가 CRAN 의 의존성 버젼의 제한을 회피할 수 있습니다.
RStudio Package Manager는 RStudio에서 제작한 유사한 도구이며, CRAN 스냅샷 외에 바이오컨덕터의 R 패키지 및 Python 패키지 [25]인덱스의 Python 패키지의 아카이브가 포함됩니다.또한 Linux용 미리 컴파일된 이진 패키지를 배포합니다([26]CRAN에는 윈도우즈 및 MacOS 이진 파일만 포함).
기타 저장소
바이오컨덕터 프로젝트는 게놈 데이터 분석을 위한 R 패키지를 제공합니다.여기에는 Affymetrix, cDNA 마이크로 어레이 및 차세대 고스루풋 시퀀싱 방식의 [27]데이터를 위한 객체 지향 데이터 처리 및 분석 도구가 포함됩니다.
R-Forge는 [28]R 패키지, R 관련 소프트웨어 및 프로젝트의 공동 개발을 위한 중앙 플랫폼입니다.또한 R-Forge는 많은 미공개 베타 패키지와 CRAN 패키지의 개발 버전을 호스팅합니다.
기본 패키지 및 권장 패키지
R은 기본, 컴파일러, 데이터셋, grDevices, 그래픽스, 그리드, 메서드, 병렬, 스플라인, 통계, 통계, 통계 4, tcltk, 도구, 번역 및 [29]유틸리티의 15가지 "기본 패키지"와 함께 배포됩니다.
또한 CRAN에서는 15개의 "권장 패키지"가 R: KernSmooth, MASS, Matrix, 부트, 클래스, 클러스터, codetools, 외부, 격자, mgcv, nlme, nnet, rpart, spatial 및 [29]survivival의 바이너리 디스트리뷰션에 포함되어 있습니다.
기타 패키지
R 생태계에서 "R 언어의 방언"으로 간주될 수 있는 Tidyverse라는 패키지 그룹이 점점 더 인기를 끌고 있습니다.2020-06-13 현재, 메타크란은[17] 대부분의 다운로드 R 패키지 목록에 Tidyverse의 8개 핵심 패키지 중 7개를 열거했다.패키지 그룹은 데이터 Import, 클리닝, 변환 및 시각화(특히 ggplot2 패키지로)를 포함한 일반적인 데이터 과학 태스크를 처리하기 위한 기능 집합을 제공하기 위해 노력하고 있습니다.
R 인프라스트럭처[30] 패키지는 코딩과 R 패키지의 개발을 지원하며 2021-05-04년 현재 메타크란은[17] 가장 많이 다운로드된 25개의 패키지 중 16개를 나열합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Hornik, Kurt (2020-02-20). "Frequently Asked Questions on R". The Comprehensive R Archive Network. 7.29: What is the difference between package and library?. Retrieved 2 November 2020.
{{cite web}}
: CS1 유지보수: 위치(링크) - ^ Wickham, Hadley; Bryan, Jennifer. "Introduction". R Packages (2nd ed.).
- ^ a b c d e Chambers, John M. (2020). "S, R, and Data Science". The R Journal. 12 (1): 462–476. doi:10.32614/RJ-2020-028. ISSN 2073-4859.
- ^ Vance, Ashlee (2009-01-06). "Data Analysts Captivated by R's Power". New York Times.
- ^ Tippmann, Sylvia (2014-12-29). "Programming tools: Adventures with R". Nature News. 517 (7532): 109–110. doi:10.1038/517109a.
- ^ a b c Thieme, Nick (2018). "R generation". Significance. 15 (4): 14–19. doi:10.1111/j.1740-9713.2018.01169.x. ISSN 1740-9713.
- ^ R Core Team. "Writing R Extensions". The Comprehensive R Archive Network. Retrieved 2020-11-02.
{{cite web}}
: CS1 maint: 작성자 파라미터 사용(링크) - ^ CRAN Repository Maintainers. "CRAN Repository Policy". The Comprehensive R Archive Network. Retrieved 2020-11-02.
{{cite web}}
: CS1 maint: 작성자 파라미터 사용(링크) - ^ a b CRAN Repository Maintainers. "CRAN Repository Policy". The Comprehensive R Archive Network. R Project. Retrieved 20 November 2020.
- ^ a b Hornik, Kurt (2020-02-20). "Frequently Asked Questions on R". The Comprehensive R Archive Network. 2.1: What is CRAN?: R Project. Retrieved 20 November 2020.
{{cite web}}
: CS1 유지보수: 위치(링크) - ^ CRAN Repository Maintainers. "The Comprehensive R Archive Network". R Project. Retrieved 20 November 2020.
- ^ CRAN Repository Maintainers. "CRAN - Contributed Packages". The Comprehensive R Archive Network. CRAN. Retrieved 20 November 2020.
- ^ Hornik, Kurt (1997-04-23). "ANNOUNCE: CRAN". r-announce (Mailing list). Retrieved 20 November 2020.
- ^ Thieme, Nick (2018). "R generation". Significance. 15 (4): 14–19. doi:10.1111/j.1740-9713.2018.01169.x. ISSN 1740-9713.
- ^ Fitzgerald, Brian (2016-02-09). "A Survey of Programming Language Package Systems". Some Things Are Obvious. Retrieved 4 May 2021.
- ^ "CRAN Task Views". cran.r-project.org. Retrieved 2018-09-16.
- ^ a b c "Metacran".
- ^ April 21, Matt Asay in Open Source on; 2016; Pst, 12:32 Pm. "Exponential growth of R's open source community threatens commercial competitors". TechRepublic. Retrieved 2020-11-02.
{{cite web}}
: CS1 maint: 숫자 이름: 작성자 목록(링크) - ^ Ooms, Jeroen (2013). "Possible Directions for Improving Dependency Versioning in R". The R Journal. 5 (1): 197–206. doi:10.32614/RJ-2013-019. ISSN 2073-4859. S2CID 6791850.
- ^ Decan, A.; Mens, T.; Claes, M.; Grosjean, P. (2016). "When GitHub Meets CRAN: An Analysis of Inter-Repository Package Dependency Problems". 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER). 1: 493–504. doi:10.1109/SANER.2016.12. ISBN 978-1-5090-1855-0. S2CID 16751624.
- ^ Hornik, Kurt (2012). "Are There Too Many R Packages?". Austrian Journal of Statistics. 41 (1): 59–66–59–66. doi:10.17713/ajs.v41i1.188. ISSN 1026-597X.
- ^ "Welcome to MRAN". Microsoft R Application Network. Microsoft. Retrieved 4 May 2021.
- ^ "Reproducibility: Using Fixed CRAN Repository Snapshots". Microsoft R Application Network. Microsoft. Retrieved 4 May 2021.
- ^ Smith, David (2019-05-22). "MRAN snapshots, and you". Revolutions. Revolution Analytics. Retrieved 4 May 2021.
- ^ Lopp, Sean (2020-12-07). "RStudio Package Manager 1.2.0 - Bioconductor & PyPI". RStudio Blog. RStudio. Retrieved 4 May 2021.
- ^ Lopp, Sean (2020-07-01). "Announcing Public Package Manager and v1.1.6". RStudio Blog. RStudio. Retrieved 4 May 2021.
- ^ Huber, W; Carey, VJ; Gentleman, R; Anders, S; Carlson, M; Carvalho, BS; Bravo, HC; Davis, S; Gatto, L; Girke, T; Gottardo, R; Hahne, F; Hansen, KD; Irizarry, RA; Lawrence, M; Love, MI; MacDonald, J; Obenchain, V; Oleś, AK; Pagès, H; Reyes, A; Shannon, P; Smyth, GK; Tenenbaum, D; Waldron, L; Morgan, M (2015). "Orchestrating high-throughput genomic analysis with Bioconductor". Nature Methods. Nature Publishing Group. 12 (2): 115–121. doi:10.1038/nmeth.3252. PMC 4509590. PMID 25633503.
- ^ "R-Forge: Welcome". Retrieved 2018-09-16.
- ^ a b Hornik, Kurt (2020-02-20). "Frequently Asked Questions on R". The Comprehensive R Archive Network. 5.1: Which add-on packages exist for R?. Retrieved 2 November 2020.
{{cite web}}
: CS1 유지보수: 위치(링크) - ^ "R infrastructure".
추가 정보
- Claes, M.; Mens, T.; Grosjean, P. (2014). "On the maintainability of CRAN packages". 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE): 308–312. doi:10.1109/CSMR-WCRE.2014.6747183. ISBN 978-1-4799-3752-3. S2CID 17927576.
- Decan, Alexandre; Mens, Tom; Claes, Maelick; Grosjean, Philippe (2015-09-07). "On the Development and Distribution of R Packages: An Empirical Analysis of the R Ecosystem". Proceedings of the 2015 European Conference on Software Architecture Workshops. ECSAW '15. Dubrovnik, Cavtat, Croatia: Association for Computing Machinery: 1–6. doi:10.1145/2797433.2797476. ISBN 978-1-4503-3393-1. S2CID 1680582.
- Fox, John (2009). "Aspects of the Social Organization and Trajectory of the R Project". The R Journal. 1 (2): 5–13. doi:10.32614/RJ-2009-014. ISSN 2073-4859.
- Fox, John; Leanage, Allison (12 September 2016). "R and the Journal of Statistical Software". Journal of Statistical Software. 73 (1): 1–13. doi:10.18637/jss.v073.i02. ISSN 1548-7660.
- Plakidas, Konstantinos; Schall, Daniel; Zdun, Uwe (2017). "Evolution of the R software ecosystem: Metrics, relationships, and their impact on qualities". Journal of Systems and Software. 132: 119–146. doi:10.1016/j.jss.2017.06.095. ISSN 0164-1212.
외부 링크
- 포괄적인 R 아카이브 네트워크(CRAN)
- METACRAN, R 패키지의 디렉토리
- CRAN 태스크 뷰, 항목별 CRAN 패키지 목록