나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2025-02-16 06:20:50

R(프로그래밍 언어)


프로그래밍 사이트 선정 프로그래밍 언어 순위 목록
{{{#!wiki style="margin: 0 -10px -5px; word-break: keep-all"
{{{#!wiki style="display: inline-table; min-width: 25%; min-height: 2em;"
{{{#!folding [ IEEE Spectrum 2024 ]
{{{#!wiki style="margin: -5px 0"
<rowcolor=#fff> 스펙트럼 부문 상위 10개 프로그래밍 언어 직업 부문 상위 10개 프로그래밍 언어
1 Python 1 SQL
2 Java 2 Python
3 JavaScript 3 Java
4 C++ 4 TypeScript
5 TypeScript 5 SAS
6 SQL 6 JavaScript
7 C# 7 C#
8 Go 8 HTML
9 C 9 Shell
10 HTML 10 C++
}}}
}}}
}}}
[ Stack Overflow 2024 ]
||<tablewidth=100%><width=9999><-4><bgcolor=#FFA500><tablebgcolor=#fff,#1c1d1f> 2024년 Stackoverflow 설문조사 기준 인기 상위 25개 프로그래밍 언어 ||
1 JavaScript 14 Rust
2 HTML, CSS 15 Kotlin
3 Python 16 Lua
4 SQL 17 Dart
5 TypeScript 18 어셈블리어
6 Bash 19 Ruby
7 Java 20 Swift
8 C# 21 R
9 C++ 22 Visual Basic
10 C 23 MATLAB
11 PHP 24 VBA
12 PowerShell 25 Groovy
13 Go
[ TIOBE 2025 ]
||<tablewidth=100%><width=9999><-4><bgcolor=deepskyblue><tablebgcolor=#fff,#1c1d1f> 2025년 2월 기준 검색어 점유율 상위 20개 프로그래밍 언어 ||
1 Python 11 Fortran
2 C++ 12 Scratch
3 Java 13 Rust
4 C 14 PHP
5 C# 15 R
6 JavaScript 16 MATLAB
7 SQL 17 Assembly language
8 Go 18 COBOL
9 Delphi / Object Pascal 19 Ruby
10 Visual Basic 20 Prolog
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px);"
{{{#!folding [ 21위 ~ 50위 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
21 Swift 36 VBScript
22 Classic Visual Basic 37 PL/SQL
23 Kotlin 38 TypeScript
24 Ada 39 GAMS
25 SAS 40 Solidity
26 LISP 41 ABAP
27 Haskell 42 Logo
28 Dart 43 D
29 (Visual) FoxPro 44 Bash
30 Perl 45 PowerShell
31 Scala 46 Elixir
32 Lua 47 RPG
33 Objective-C 48 ML
34 Julia 49 Ladder Logic
35 Transact-SQL 50 Awk
}}}}}}}}} ||
[ PYPL 2025 ]
||<tablewidth=100%><width=9999><-4><bgcolor=green><tablebgcolor=#fff,#1c1d1f> 2025년 3월 기준 검색어 점유율 상위 20개 프로그래밍 언어 ||
1 Python 11 Swift
2 Java 12 Go
3 JavaScript 13 Kotlin
4 C/C++ 14 MATLAB
5 C# 15 Ada
6 R 16 Dart
7 PHP 17 Ruby
8 Rust 18 Lua
9 TypeScript 19 PowerShell
10 Objective-C 20 VBA

}}} ||
프로그래밍 언어 목록 · 분류 · 문법

GNU Project
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px);"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -6px -1px -10px;"
<colbgcolor=#a32d2a><colcolor=#fff> 관련 문서 GNU · 자유 소프트웨어 재단 · 리처드 스톨먼
소프트웨어 Bash · GNOME · GNU Emacs · GNU IceCat · GNU/Linux · GNU Octave · GNU Screen · groff · GRUB · Midnight Commander · nano · R · Texinfo
<bgcolor=#a32d2a><color#fff> 유틸리티 coreutils(fileutils · textutils · shellutils) · GNU Grep · GnuPG · GNU Tar
<bgcolor=#a32d2a><color#fff> 개발자 도구 Autotools(autoconf · automake) · binutils(BFD · as · ld · gold · gdb) · GCC · glibc · GNU Make
라이선스 GNU 일반 공중 사용 허가서 · GNU 약소 일반 공중 사용 허가서 · GNU Affero 일반 공중 사용 허가서
기타 GNU Unifont
취소선: 독립한 프로젝트
}}}}}}}}} ||
R
파일:R 로고.svg파일:R 로고.svg
1. 개요2. 다른 프로그래밍 언어 및 통계 솔루션과 비교3. 특징4. 장점5. 단점6. 통합 개발 환경(IDE)
6.1. RStudio6.2. 기타 IDE 및 에디터
7. 시각화 패키지8. 튜토리얼9. 관련 문서10. 외부 링크

[clearfix]

1. 개요

> hello <- "Hello, world!"
> hello
"Hello, world!"

R1992년 뉴질랜드에 위치한 오클랜드 대학교에서 개발된 통계(statistics) 및 그래프 작업을 위한 인터프리터 프로그래밍 언어이다. R이 가지는 특이 사항 중 하나로, color를 colour라고 쓰는 것 또한 인정된다. 영국식 영어를 사용하는 뉴질랜드에서 개발돼서 얻은 특징인 듯하다.

2. 다른 프로그래밍 언어 및 통계 솔루션과 비교

SPSS, STATA, SAS 등 유사 소프트웨어들이 있으며 요즘엔 Python도 많이 쓴다. SPSS는 통계학용이라는 목적만 같을 뿐 실제로 사용해 보면 나머지 언어들과는 좀 다르다. STATA는 R에 비해 프로그래밍 자유도가 낮다는 등의 단점이 있지만, 대신 계량 경제학(특히 실증 미시 경제학)에 특화되고 상대적으로 배우기 쉽다는 장점이 있다. SAS는 유료 통계 분석 언어 중에 가장 유명한 언어이다.[1] 위의 언어들 중 그나마 R에 가장 가깝다고 할 수 있다. Python은 앞의 언어들보다는 좀 더 일반적이고 범용성이 큰 언어이다. 통계나 수치 해석을 위한 라이브러리를 동원해 통계 분석용으로 쓸 수 있다.[2]

3. 특징

4. 장점

5. 단점

6. 통합 개발 환경(IDE)

6.1. RStudio

통합 개발 환경(IDE)으로 RStudio가 가장 무난하다. R 본체가 설치되어 있어야 작동하며, 훨씬 편리한 인터페이스를 제공하는 것이 강점이다.

유튜브에 RStudio를 설치하는 방법을 소개하는 영상이 있다.[17]

한글 등 폭넓은 인코딩 및 설정을 지원하므로 안정적이다. 단, 윈도우의 경우 폴더 경로나 파일 이름에 한글이 들어가면 제대로 작동하지 않을 수 있으니 주의해야 한다. 특히 사용자 계정 이름이 한글일 경우 기본 폴더 경로 자체에 한글이 들어가게 되므로 제대로 실행되지 않을 수 있다. 이 경우 관리자 권한으로 실행시키면 된다. 당연히 리눅스 등 유닉스 계열은 상관없다.[18]

RStudio에서 최근에는 Stan, C++, JAVA 등의 코딩도 할 수 있도록 지원하고 있기 때문에 범용성이 커졌다.

글로벌 프로젝트답게 File 메뉴나 Tools 메뉴에서 여러 인코딩을 지원하거나 선택 후 바로 열어보기(open)기능이 강화됐다.

심지어는 내부 윈도우의 글자 크기도 별도의 조절이 가능하다.
파일:R_studio_screen_windows01.svg

6.2. 기타 IDE 및 에디터

그 외의 IDE나 에디터들에는 다음이 있다. 보통 R에 대한 문법 검사와 코드 색상을 지원하는 플러그인 형태로 제공된다.

7. 시각화 패키지

데이터를 그래프 등 보기 좋게 시각화해 주는 패키지 목록은 다음과 같다.

8. 튜토리얼

9. 관련 문서

10. 외부 링크


[1] 공대에서 매트랩의 위상을 떠올리면 이와 얼추 비슷하다.[2] 예컨대, R의 data.frame을 본떠서 설계한 DataFrame이라는 데이터 구조를 기반으로 만들어진 Pandas 패키지를 사용한다.[3] 추가 기능이라고 볼 수 있다. R의 내장 함수를 사용하는 게 아니라 자신이 직접 함수를 만들어야 한다거나, 외부 언어나 자료를 끌어온다거나, 복잡한 프로그래밍을 해야 할 때가 있다. 이런 작업을 사전에 마친 사람이 자신이 만든 소스를 공개하는 것이라고 보면 된다. 평범한 R 사용자들은 이러한 소스를 받아서 쓴다.[4] 2018년 4월 22일 현재 12,500여 개의 패키지가 있다.[5] 대표적으로 ggplot2 패키지가 있다. 사용이 쉽고 굉장히 미려하다.[6] Microsoft R Application Network retirement[7] R 속도 상승 in Windows 10워드프레스[8] 물론 assign 함수를 이용하면 외부의 값을 자유자재로 바꿀 수 있기는 하다.[9] R를 S의 구현체 중 하나로 보기도 한다.[10] 기본적으로 컴퓨터는 계산기이다.[11] 담배 회사에서 손해(?)를 보면서도 담배를 훔치는 청소년을 잡지 말라는 것처럼, 대학 시절부터 무료로 SAS를 사용하면서 SAS에 익숙해져야 사회 나가서도 SAS를 찾기 때문. 회사에서 SAS를 쓰려면 정말 비싸게 주고 라이선스를 구매해야 한다.[12] 특히 실험 계획법이나 회귀 분석과 같은 선형 모형 수업. 이제 정년을 앞둔 사람 입장에서 이미 수업에서 사용되는 예제들의 코드가 만들어져 있어서 Run 한 번만 누르면 되는데, 굳이 새로운 언어를 배워서 코드를 바꿀 사람은 거의 없기 때문. 하지만 대학원생이 있다면...[13] R6 패키지는 S3, S4 클래스보다 더 일반적인 객체 지향 프로그램을 하기 위해 개발되었다. Perl의 Moose와 비슷한 측면이 있다.[14] R에서는 '.'을 변수 이름으로 사용하는 대신 '$'이 접근자로 쓰인다.[15] 함수 이름에 '.'이 사용될 경우, 첫 번째 파라미터의 S3 class가 함수 이름의 '.' 뒤에 마지막으로 오면 호출 시 이름에서 class를 생략할 수 있다. 예를 들어, summary() 함수가 "lm" 클래스를 첫 번째 파라미터로 입력받을 수 있도록 하기 위해 summary.lm() 함수를 정의한다. summary.lm() 함수의 반환값의 S3 클래스는 "summary.lm"으로, 이를 텍스트로 형태로 출력하기 위해 print.summary.lm() 함수가 추가로 정의되어 있다.[16] 물론 개선된다기보단 문제시되지 않는 쪽으로 변하는 중이라는 것이다.[17] R 진짜 설치하기 싫은 사람만 보세요유튜브[18] 디폴트는 UTF-8이므로 MS 윈도우에서 작성된 파일을 불러올 경우 CP949 등의 인코딩 불러오기를 해주면 된다.[19] R|Browser Preview를 VSCode에 설치하고 httpgd를 쓰면 RStudio 못지않은 환경에서 작업할 수 있다.[20] 다만 애플 실리콘 베이스의 맥북들에서 'R Wrapper Terminated'라는 문구와 함께 R은 실행이 되지 않는다는 보고가 있다.[21] R로 하는 퀀트 트레이딩네이버 쇼핑