[R] R 소개 및 이해 (R 역사, R 기초 개념, R 장단점, R 특징, R 함수)

해당 포스트는 R을 처음 접하시는 분들을 위해 간략히 소개하는 내용을 담은 글입니다.

1. R이란?

R은 데이터 분석을 위한 프로그래밍 언어로 통계 및 그래픽스 기능을 지원하는 오픈소스 소프트웨어입니다.

  • Data analysis software
  • A programming language
    • 통계학자들이 디자인하고 통계학자들을 위한 개발 플랫폼
  • An environment
    • 데이터와 관련된 입출력, 핸들링, 관리, 분석, 그래픽 등 최신의 알고리즘 및 라이브러리 제공
  • An open-source software project
    • Free, open, and active
  • A community
    • 수 천명의 contributors, 2백만이 넘는 사용자
    • 각 업무도메인과 관련된 리소스와 도움말 제공

2. R의 태동

R은 1993년 뉴질랜드 오클랜드 대학의 통계학과 교수 2명(Ross Ihaka, Robert Gentleman) 에 의하여 개발되었으며, 1976년 Bell Lab에서 개발된 S Language에 뿌리를 두고 있습니다.

▲ R의 태동

3. R의 장단점

장점

  • 데이터 분석가들이 쉽게 사용할 수 있는 자체 분석 언어 제공
  • 시각화, 시스템화를 위한 각종 편의 도구 제공
  • 오픈 소스 기반이라 비용이 들지 않음
  • 방대한 양의 Package들을 통하여 빠른 개발환경 확장 가능

단점

  • In-Memory 기술 이용 (처리할 수 있는 단일 데이터의 크기가 한정됨)
    • 대용량 데이터는 Sampling 으로 해결
  • Single-Node (분산 환경을 활용하기 어려움)
    • 기본 세팅 = 1 Core → 멀티코어, 병렬 처리 지원 패키지 활용 필요
    • 고성능을 위해서는 H/W의 수직 확장이 필요

4. R 다양한 기능들

1. 통계

▲ 통계 분석을 위한 R 기능들

2. DB연동

▲ DB 연동을 위한 R

3. 데이터 마이닝

▲ R에서 데이터 마이닝

4. 네트워크 분석

▲ R 네트워크 분석

5. 시각화

▲ R 시각화 예시-1

▲ R 시각화 예시-2

6. 리포트 기능

▲ R 마크다운 예시

5. 마무리

R의 장점

  • 무료 및 저렴한 비용으로 사용 가능하고
  • 데이터 가공, 통계, 데이터 마이닝, 빅데이터 분석, 시각화 등 다양한 기능을 제공하며
  • 학습을 위한 비용이 낮고 모든 정보가 공개되어 있고
  • 타 솔루션 및 시스템과의 연계가 자유롭다.

R의 단점

  • R 자체적으로는 수직적 확장만 가능하며 → 수평적 확장 불가능
  • 분석을 위한 프로그래밍 언어에 대한 이해가 필요하다 → 개발역량 필요