R (프로그래밍 언어)

위키백과, 우리 모두의 백과사전.
R
R logo.svg
R 터미널
R 터미널
개발자R 재단
안정화 버전
4.1.1[1] / 2021년 8월 10일 (2개월 전)
저장소 위키데이터에서 편집하기
운영 체제크로스 플랫폼
종류프로그래밍 언어
라이선스GNU GPL
웹사이트www.r-project.org 위키데이터에서 편집하기

R은 통계 계산과 그래픽을 위한 프로그래밍 언어이자 소프트웨어 환경이다. 오픈소스로 쓰여졌으며 무료이다.[2] 뉴질랜드 오클랜드 대학의 로버트 젠틀맨(Robert Gentleman)과 로스 이하카(Ross Ihaka)에 의해 시작되어 현재는 R 코어 팀이 개발하고 있다. R은 또한 GNUGPL 하에 배포되는 S 프로그래밍 언어의 구현으로 때때로 GNU S 로도 불린다.[3][4][5][6]R는 통계 소프트웨어 개발과 자료 분석에 널리 사용되고 있으며, 패키지 개발이 용이해 통계 소프트웨어 개발에 많이 쓰이고 있다.

소개[편집]

R의 문법과 통계처리 부분은 AT&T 벨 연구소가 개발했던 S를 참고했고, 데이터 처리부분은 스킴으로부터 영향을 받았다.

R는 다양한 통계 기법과 수치 해석 기법을 지원한다. R는 사용자가 제작한 패키지를 추가하여 기능을 확장할 수 있다. 핵심적인 패키지는 R와 함께 설치되며, CRAN(the Comprehensive R Archive Network)을 통해 2020년 3월 기준 15,400개 이상의 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]가 있으며, 이는 온라인과 하드카피에서 포괄적인 문서를 제공하는 데 사용된다.

같이 보기[편집]

각주[편집]

  1. "R 4.1.1 is released"; 저자 이름: Peter Dalgaard; 저작물·명칭의 언어: 영어; 공식적으로 나온 날: 2021년 8월 10일; 확인한 날짜: 2021년 8월 10일.
  2. R language and environment
    • Hornik, Kurt (2015년 11월 26일). “R FAQ”. 《The Comprehensive R Archive Network》. 2.1 What is R?. 2015년 12월 6일에 확인함. 
    R Foundation
    • Hornik, Kurt (2015년 11월 26일). “R FAQ”. 《The Comprehensive R Archive Network》. 2.13 What is the R Foundation?. 2015년 12월 6일에 확인함. 
    The R Core Team asks authors who use R in their data analysis to cite the software using:
    • 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/.
  3. Gentleman, Robert (2006년 12월 9일). “Individual Expertise profile of Robert Gentleman”. 2011년 7월 23일에 원본 문서에서 보존된 문서. 2009년 7월 20일에 확인함. 
  4. 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 D. Peng (3 9 2020), 《R Programming for Data Science》, ISBN 값 없음 |isbn= 값 확인 필요: invalid character (도움말)  위키데이터 Q101068131, section 2.4.
  5. Thieme, Nick (August 2018). “R generation”. 《Significance》 15 (4): 14–19. doi:10.1111/j.1740-9713.2018.01169.x. 
  6. Kurt Hornik. 《The R FAQ: Why R?》. ISBN 3-900051-08-9. 2008년 1월 29일에 확인함. 
  7. [참고] R version history- R 2.14 2011-10-31 Added mandatory namespaces for packages. Added a new parallel package.
  8. [참고](Ubuntu Packahges For R - Brief Instructions)https://cran.usthb.dz/
  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
  10. 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. 
  11. “nuiton / nuiton-j2r” (영어). 2019년 3월 28일에 확인함. 
  12. Godwin, Hayward (2011년 6월 19일). “Making GUIs using C# and R with the help of R.NET” (영어). 2019년 3월 28일에 확인함. 
  13. Lewin-Koh, Nicholas (2015년 1월 7일). “CRAN Task View: Graphic Displays & Dynamic Graphics & Graphic Devices & Visualization”. 
  14. [참고](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
  15. R , Rd format- http://www.hep.by/gnu/r-patched/r-exts/R-exts_49.html

외부 링크[편집]