# [R] R언어

## R언어의 특징

---

![Image](https://upload.cafenono.com/image/slashpagePost/20250128/004240_SBwgT7PbDuXgfHuUY8?q=80&s=1280x180&t=outside&f=webp)

- R 언어는 비교적 최근에 개발된 프로그래밍 언어 중 하나

- R은 1993년, 뉴질랜드 오클래드 대학의 로스 이하카(Ross Ihaka)와 로버트 젠틀맨(Robert Gentleman)에 의해 통계 프로그래밍 언어인 S-PLUS의 무료 버전 형태

### **장점**

**데이터 분석에 특화된 언어**

- R은 통계를 포함한 데이터 분석 작업에 활용할 목적으로 개발된 언어

- R은 컴파일 과정 없이도 바로 실행하여 결과를 확인할 수 있음 (인터프리터 언어)

- R로 작성한 것을 ‘프로그램’이 아니라 스크립트(script)라고 부름

**탄탄한 사용자 커뮤니티**

- R은 사용자층이 두텁기 때문에 다양한 커뮤니티가 존재함

- 초보자를 위한 학습 자료도 풍부하게 존재함

- 국내 검색 사이트를 통해서 찾을 수 있는 한글 자료들이 증가하는 추세

> **R Tutorial**: [https://www.w3schools.com/r/](https://www.w3schools.com/r/)**
> R-bloggers**: [https://www.r-bloggers.com/](https://www.r-bloggers.com/)**
> R-statistics**: [https://www.r-project.org/](https://www.r-project.org/)**
> Quick-R**: [https://www.statmethods.net/](https://www.statmethods.net/)**
> R Korea**: [https://www.facebook.com/groups/KoreaRUsers/?locale=ko_KR](https://www.facebook.com/groups/KoreaRUsers/?locale=ko_KR)

**다양한 패키지 제공**

- **패키지**: R의 편리한 사용을 위해 만들어 놓은 함수들의 묶음으로 설치하면 다양한 기능을 편리하게 사용할 수 있다.

- 데이터 분석에 필요한 거의 모든 기능을 제공

- 최신 이론이 발표되면 바로 R 패키지가 만들어지기 때문에 신속하게 최신 이론을 데이터 분석에 활용하는 것이 가능

**미적이고 기능적인 통계 그래프 제공**

- 데이터 분석에 있어서 분석 결과를 시각적으로 표현하 것은 매우 중요함

- R에서는 ggplot이라는 패키지를 통해 아름다우면서도 기능적인 그래프를 쉽게 작성할 수 있도록 지원함

**편리한 프로그래밍 환경**

- R 프로그래밍을 위한 통합 개발 환경으로 R 스튜디오가 제공되어 모든 작업을 R 스튜디오 내에서 처리할 수 있음

- 프로그램 작성.실행.수정 등 여러 작업을 수행하려면 보다 편리한 작업 환경이 필요함

- 이러한 작업 환경을 통합 개발 환경, IDE(Integrated Development Environment)라고

**무료 사용**

- R은 무료로 사용할 수 있는 오픈소스 (open source) 소프트웨어

- 1년에 1~2차례 정기적으로 업데이트가 이루어져 지속적으로 기능이 향상

- R은 윈도우 환경뿐만 아니라 리눅스, 맥 OS 환경에서도 설치 및 사용이 가능

**다양한 운영체제에서 동작**

- 윈도우, 맥, 리눅스 등 다양한 운영체제에서 동작

- 설치와 사용 환경 구축이  쉽다.

### 단점

**쉬워도 프로그래밍 언어**

- 프로그래밍 언어에 대한 기초 지식이 없다면 다소 어려움을 느낄 수 있다.

- 범용 프로그래밍 언어보다는 쉬워 데이터 분석에 처음 도전할 때 시작하기 좋은 방법

**처리 속도 느림**

- 범용 프로그래밍 언어 (C, Java, Python)와 비교했을 때 처리 속도가 느리다.

- 데이터 분석에만 특화 → 대규모 IT 서비스 개발에 접목하기 쉽지 않다.

- 강력한 시각화 기능이 있어 통계 분석을 하는 많은 데이터분석가들이 사용

**문제를 스스로 해결**

- R 사용 중 문제가 발생했을 때 스스로 해결해야 한다.

- 커뮤니티의 발전으로 이어짐

### R을 배우는 이유

---

**4차 산업혁명 (The Fourth Industrial Reveolution):**

- 인공지능, 빅데이터, 로봇, 사물인터넷 등 새로운 과학 기술이 정치.경제.문화 전반에 영향을 미치면서 이러한 변화를 수용하고 발전 가능성을 최대화시키는 시대로

- **인공지능(AI, Artificial Intelligence)**과 **빅데이터(Big Data)**가 핵심 기술로 인식됨

- 4차 산업혁명의 중심은 ‘**데이터**’

- 시대적 흐름은 데이터를 잘 다룰 줄 아는 기업과 개인이 경쟁에서 우위를 점할 수 있음을 의미

- 컴퓨팅 사고와 데이터 활용 능력은 전공을 불문하고 어떤 분야로 진출하든 점점 더 중요한 스펙

**빅데이터(Big Data)**

- 기존에 처리하던 데이터보다 더 많은 양의 대규모 데이터

- 데이터 과학: 빅데이터를 가공하여 데이터에서 지식과 인사이트 등의 의미를 찾기 위한 다양한 방법

- 데이터 과학자: 이러한 롸동을 하는 사람들

- 4V의 특성을 갖는다.

    - 규모(Volumne), 다양성(Variety), 정확성(Veracity), 속도(Velocity)

![Image](https://upload.cafenono.com/image/slashpagePost/20250128/004201_coeVrhsR41GaVTgQ8J?q=80&s=1280x180&t=outside&f=webp)

- R은 배우기 쉬우면서도 강력한 데이터 처리 및 데이터 분석 능력을 제공함

- 프로그래밍 언어로 컴퓨팅 사고를 배우기에도 적합함

### R vs Python

---

![Image](https://upload.cafenono.com/image/slashpagePost/20250128/004216_ccGHctqgnQEtqd8t61?q=80&s=1280x180&t=outside&f=webp)

For the site tree, see the [root Markdown](https://slashpage.com/yerim-devnote.md).
