R (프로그래밍 언어)
![]() | |
![]() R 터미널 | |
개발자 | R 재단 |
---|---|
안정화 버전 | 4.4.1[1]
/ 2024년 6월 14일 (2개월 전) |
저장소 | |
운영 체제 | 크로스 플랫폼 |
종류 | 프로그래밍 언어 |
라이선스 | GNU GPL |
웹사이트 | www |
R은 통계 계산과 그래픽을 위한 프로그래밍 언어이자 소프트웨어 환경이다. 오픈소스로 쓰여졌으며 무료이다.[2] 뉴질랜드 오클랜드 대학의 로버트 젠틀맨(Robert Gentleman)과 로스 이하카(Ross Ihaka)에 의해 시작되어 현재는 R 코어 팀이 개발하고 있다. R은 또한 GNU의 GPL 하에 배포되는 S 프로그래밍 언어의 구현으로 때때로 GNU S 로도 불린다.[3][4][5][6]R는 통계 소프트웨어 개발과 자료 분석에 널리 사용되고 있으며, 패키지 개발이 용이해 통계 소프트웨어 개발에 많이 쓰이고 있다.
소개
[편집]R의 문법과 통계처리 부분은 AT&T 벨 연구소가 개발했던 S를 참고했고, 데이터 처리부분은 스킴으로부터 영향을 받았다.
R는 다양한 통계 기법과 수치 해석 기법을 지원한다. R는 사용자가 제작한 패키지를 추가하여 기능을 확장할 수 있다. 핵심적인 패키지는 R와 함께 설치되며, CRAN(the Comprehensive R Archive Network)을 통해 2022년 1월 기준 18,700개 이상의 R 패키지(R package)를 내려 받을 수 있다.
R의 또 다른 강점은 그래픽 기능으로 수학 기호를 포함할 수 있는 출판물 수준의 그래프를 제공하는 것이다.
R는 통계 계산과 소프트웨어 개발을 위한 환경이 필요한 통계학자와 연구자들 뿐만 아니라, 행렬 계산을 위한 도구로서도 사용될 수 있으며 이 부분에서 GNU Octave나 MATLAB에 견줄 만한 결과를 보여준다.
R는 MS 윈도우, 맥 OS 및 리눅스를 포함한 UNIX 플랫폼에서 이용 가능하다.
처리속도
[편집]인터프리터 언어라는 이유로 처리속도가 낮다는 평가를 받는 경우가 많다. 그러나 실제로는 S의 상용판인 S-PLUS보다 많은 경우 속도가 빠를 뿐만 아니라, 범용행렬계 언어의 표준과도 같은 MATLAB과 그 파생어인 GNU Octave, Scilab보다도 종합적으로 빠르다는 평가가 있다.[출처 필요]
베오울프 클러스터 같은 병렬화된 리눅스 환경에서 R은 병렬프로그래밍 패키지를 통해서 병렬 프로세스 처리를 지원한다.[7][8][9]
RStudio
[편집]RStudio는 오픈 소스인 R를 좀 더 편하게 사용하기 위해 개발된 프로그램(IDE, 통합 개발 환경)이다.
통계적 특성
[편집]R 및 그 라이브러리는 선형 및 비선형 모델링, 고전 통계 테스트, 시계열 분석, 분류, 클러스터링 등 다양한 통계 및 그래픽 기술을 구현한다. R는 기능 및 확장을 통해 쉽게 확장 가능하며 R 커뮤니티는 패키지와 관련된 적극적인 기여로 유명하다. R의 표준 함수 중 많은 것은 R 자체로 작성되어 사용자가 쉽게 알고리즘을 사용할 수 있다. 계산 작업의 경우 C, C ++ 및 Fortran 코드를 런타임에 링크하고 호출할 수 있다. R 객체를 직접 C, C ++,[10] Java[11],NET[12]또는 Python 코드로 작성할 수 있다. R는 많은 사람들이 만든 패키지를 공유해 특정 기능이나 특정 분야의 연구 분야에서 매우 확장성이 뛰어나다. S의 전통으로 인해 R는 대부분의 통계 컴퓨팅 언어보다 강력한 객체 지향 프로그래밍 기능을 제공한다.
R의 또 다른 장점은 수학 그래픽을 포함해 고품질의 그래프를 만들 수 있는 정적 그래픽이다. 다이나믹하고 인터랙티브 한 그래픽도 추가 패키지를 통해 제공된다.[13][14]
R에는 LaTeX와 유사한 자체 문서 형식인 Rd(R documentation,Rd format)[15]가 있으며, 이는 온라인과 하드카피에서 포괄적인 문서를 제공하는 데 사용된다.
같이 보기
[편집]각주
[편집]- ↑ “R 4.4.1 is released” (영어). 2024년 6월 14일. 2024년 6월 15일에 확인함.
- ↑ R language and environment
- Hornik, Kurt (2015년 11월 26일). “R FAQ”. 《The Comprehensive R Archive Network》. 2.1 What is R?. 2015년 12월 6일에 확인함.
- Hornik, Kurt (2015년 11월 26일). “R FAQ”. 《The Comprehensive R Archive Network》. 2.13 What is the R Foundation?. 2015년 12월 6일에 확인함.
- R Core Team (2016). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL http://www.R-project.org/.
- ↑ Gentleman, Robert (2006년 12월 9일). “Individual Expertise profile of Robert Gentleman”. 2011년 7월 23일에 원본 문서에서 보존된 문서. 2009년 7월 20일에 확인함.
- ↑ Ross Ihaka; Robert Gentleman (9월 1996), “R: A Language for Data Analysis and Graphics”, 《Journal of Computational and Graphical Statistics》 5 (3), doi:10.2307/1390807, JSTOR 1390807 , 위키데이터 Q56268347, cited from Roger Peng (3 9 2020), 《R Programming for Data Science》, ISBN 값 없음
|isbn=
값 확인 필요: invalid character (도움말) , 위키데이터 Q101068131, section 2.4. - ↑ Thieme, Nick (August 2018). “R generation”. 《Significance》 15 (4): 14–19. doi:10.1111/j.1740-9713.2018.01169.x.
- ↑ Kurt Hornik. 《The R FAQ: Why R?》. ISBN 3-900051-08-9. 2008년 1월 29일에 확인함.
- ↑ [참고] R version history- R 2.14 2011-10-31 Added mandatory namespaces for packages. Added a new parallel package.
- ↑ [참고](Ubuntu Packahges For R - Brief Instructions)https://cran.usthb.dz/ Archived 2021년 5월 9일 - 웨이백 머신
- ↑ [참고](Quick Intro to Parallel Computing in R,Matt Jones,7/25/2017)https://nceas.github.io/oss-lessons/parallel-computing-in-r/parallel-computing-in-r.html
- ↑ Eddelbuettel, Dirk; François, Romain (2011). “Rcpp : Seamless R and C++ Integration”. 《Journal of Statistical Software》 (영어) 40 (8). doi:10.18637/jss.v040.i08. ISSN 1548-7660.
- ↑ “nuiton / nuiton-j2r” (영어). 2019년 3월 28일에 확인함.
- ↑ Godwin, Hayward (2011년 6월 19일). “Making GUIs using C# and R with the help of R.NET” (영어). 2019년 3월 28일에 확인함.
- ↑ Lewin-Koh, Nicholas (2015년 1월 7일). “CRAN Task View: Graphic Displays & Dynamic Graphics & Graphic Devices & Visualization”.[깨진 링크(과거 내용 찾기)]
- ↑ [참고](R for Data Science ,Hadley Wickham, Garrett Grolemund,R4DS,CCL3 - R Markdown formats)https://r4ds.had.co.nz/r-markdown-formats.html?q=Rd#output-options
- ↑ R , Rd format- http://www.hep.by/gnu/r-patched/r-exts/R-exts_49.html Archived 2018년 9월 13일 - 웨이백 머신
- [참고] (온라인 R쿡북) http://www.cookbook-r.com/
- [참고] (R Graphics Cookbook: Practical Recipes for Visualizing Data (공)저: Winston Chang)https://books.google.co.kr/books?id=fxL4tu5bzAAC&printsec=frontcover&redir_esc=y&hl=ko#v=onepage&q&f=false
- [참고](R for Data Science ,Hadley Wickham, Garrett Grolemund,R4DS,CCL3) https://r4ds.had.co.nz/index.html
- [참고](Cookbook for R,Winston Chang) http://www.cookbook-r.com/
외부 링크
[편집]위키미디어 공용에 R 관련 미디어 분류가 있습니다.
위키배움터에 R 언어 배우기 관련 자료가 있습니다.
- (영어) R
- 공식 웹사이트
- R Development Translation Team (Korean)