R Introduction
특징
역사
1990년대 초반 University of Auckland(New Zealand)의 Ross Ihaka와 Robert Gentleman에 의해 개발됨
S language (1976년 Bell Labs의 John Chambers가 개발한 statistical programming language)의 후속작
- 이름의 의미: S language보다 앞선다는 말장난 + 두 저자의 first name
- 1995년 첫 버전이 공개된 후 R Development Core Team에 의해 꾸준히 버전업 됨
R Development Core Team에 John Chambers가 속해 있음.
- 2020/06/22 R 4.0.2 (Taking Off Again)가 가장 최신
Open Source
Free Software Foundation의 GNU Project의 일부로 개발되고, GNU License를 적용받음 (무료)
비교: S language는 Bell Labs에서 개발
비교: Python은 Python Software Foundation에 의해 개발되고 GNU License와 비슷한 Python Software Foundation License를 적용받음 (무료)
R의 core는 R Development Core Team에 의해 개발되지만, 대부분의 기능은 open source community 에 의해 추가됨
- 통계에서 쓰이는 거의 모든 기능은 누군가에 의해 개발되어 package라는 이름으로 공유됨.
필요한 기능(function)이 있으면 일단 검색부터 하자: https://cran.r-project.org/web/packages/ (공식)
DataCamp에서 만든 https://www.rdocumentation.org/가 좀 더 보기 편함
Google에서 cran과 필요한 기능 키워드를 같이 검색하면 대부분 찾아짐
필요한 기능을 못 찾으면 직접 구현하여 community에 기여할 수도 있고, 혼자만의 노하우로 간직할 수도 있지만, 유료 판매는 안 됨 (GNU License에서 금지함)
Interpreter 방식
Script가 한줄 한줄 실행되는 방식: 직관적이고 빠른 코드 수정이 가능.
- 비교: compiler 방식은 코드 수정 후 매번 기계어로 바꾸는 과정이 추가되어야 함 (예: C language, Java)
- 빠른 실행이 요구되는 상업적 프로그램 개발에는 compiler 방식이 우세하나, 실행시 속도보다 코드 수정이 빠를 때 생산성이 높아지는 scientific computing에는 interpreter 방식이 적합
다른 과학계산용 interpreter language: python, MatLab, Igor 등
단점
- Memory management: 모든 data를 컴퓨터 메모리에 올려놓고 계산하는 방식.
- 컴퓨터의 물리적 메모리 크기보다 큰 크기의 데이타는 실행이 어려움
- 개인용 PC에도 수십GB 의 메모리가 장착되는 요즘은 큰 문제는 아님
- 진정 큰 data의 경우 샘플 data로 로직만 개발해 놓고, 실제로는 cloud computing으로 옮겨서 계산하면 해결가능
설치
/CentralLimitTheorem /ChiSquared /Clustering /InstallR /InstallRStudio /Lies /NormalDistribution /RBasic /RBasic1 /RBasic2 /RBasic3 /RCloud /RIntro /RKorean /T-Test |