본문 바로가기
Work/About R

[R story] R 에 관해서 / R 언어의 장단점

by Q flow 2020. 10. 23.

R 에 관해서 / R 언어의 장점과 단점 / 사용 현황


R 프로그래밍 언어는 데이터 분석, 데이터 과학, 기계 학습 분야에서 중요한 도구이다.

빅데이터와 AI의 중요성이 커지면서 R도 데이터 분석을 위한 도구로 많은 인기를 누리고 있다.

 

데이터 마이닝, 기계 학습 등에 대한 소식을 전하는 KDnuggets에서 실시한

"2017~2019년 사이에 실제로 사용한 분석, 데이터 마이닝, 기계 학습 소프트웨어" 에 대한 

설문 조사 결과를 보면, 2017년에 2위, 2018~2019년에도 약 47%의 점유율로 3위를 차지하고 있다.

 

R언어 점유율은 2년 연속 감소했지만, 감소율은 2017년에 비해 줄어들었으며 여러 사용자가

RStudio를 포함시켜야한다는 의견을 반영하여 다음 투표에는 반영한다는 입장이다.

2017~2019 데이터분석 소프트웨어 점유율
2017~2019 데이터분석, 데이터과학, 기계학습 소프트웨어 점유율 설문 조사 [출처 : KDnuggets]

 



왜 R인가?


사실 데이터분석 도구에는 많은 프로그램이나 언어들이 존재한다.

우리가 업무에서 흔히 쓰는 '엑셀' 또한 대표적인 데이터분석 도구이다.

엑셀에는 사용자가 쉽게 사용할 수 있도록 수많은 아이콘과 메뉴들이 존재한다.

하지만, R에는 옵션메뉴 말고는 메뉴가 거의 없다.

대부분 사용자가 필요한 언어를 코딩하여 사용해야 한다.

 

실제로 업무에서 R을 사용하다보면, 데이터 전처리를 엑셀로 하는게 편하다고 느끼는 경우도 간혹 있다.

하지만, 내가 원하는 기능이 엑셀에 없는 경우는 어떻게 해야 할까? 

 

이런 경우, 다른 소프트웨어를 찾아봐야 할 것이다.

나의 경우에도 엑셀에서 구현이 어려운 문제는 R에서 해결하는 방법을 찾곤 한다.

R에서는 기본적으로 사용자 정의 함수를 만들어서 사용할 수 있다. 

하지만, 내가 프로그래밍 실력이 부족하다면?

 

 


R의 장점


 

1. 무료이며, 사용이 자유롭다.

R 언어는 누구나 무료로 사용 가능한 자유 소프트웨어이다. 

따라서, 누구나 쉽게 R을 사용할 수 있으며 R을 사용하는데 있어 사전 조건을 고려할 필요가 없다.

 

우리가 흔히 쓰는 엑셀을 비롯하여, 미니탭, SPSS, SAS 등의 통계 프로그램들은 1년 라이센스 비용을 수만원에서 수천만원까지 지불하고 사용해야 한다.

필자도 대학교 시절, 통계 소프트웨어인 SAS를 사용했었는데 개인이 사용하기에는 비싼 라이센스 비용으로 인해 기업, 연구기관, 학교 등에서만 사용하던 때가 있었다. 

이전 직장에서 사용하던 미니탭도 1년 라이센스 비용을 백만원 이상 지불하면서 사용했었는데,

현재는 R을 이용하여 전보다 더 깊이있는 데이터분석을, 보다 편리하게 하고 있는 중이다.

 

 

 

2. 프로그래밍 하기가 쉽다.

R 언어는 통계학자, 수학자, 의학자 등 다양한 분야의 사람들이 널리 사용하는 프로그래밍 언어이다.

왜냐하면, 다른 언어에 비해 접하기 쉽고 조작하기 쉬운 특징을 가지고 있기 때문이다.

 

R은 이렇게 간단한 한 두줄의 언어로 데이터 분석에서 매우 중요해진 시각화 기능을 제공한다.

강력한 그래픽 기능 하나만으로도 R을 사용할 가치는 충분하다고 생각된다.

 

따라서, 통계, 시각화 및 데이터 분석에서는 데이터 과학자에게 있어 최고의 선택지라고 할 수 있다.

 

 

 

3. 강력한 패키지 생태계

R은 다른 오픈소스 소프트웨어에 비해 훨씬 강력한 커뮤니티 파워를 가지고 있다.

 

일반적인 오픈소스 소프트웨어 사용시, 내가 사용하려는 기능이 존재하지 않으면

그것을 직접 프로그래밍하여 구현해야 하거나 실력이 부족하다면  다른 사람이 개발해줄 때까지

기다려야 하는 경우가 많다. 

하지만, R은 워낙 다양하고 많은 사용자가 강력한 생태계를 이루고 있어서

검증된 패키지를 빠르게 찾아 적용할 수 있다.

 

구글링을 통해 원하는 기능을 검색해보면 정말 많은 패키지 들이 이미 존재한다는 것을 알 수 있을 것이다.

어떤 통계 기법을 사용하든 그에 맞는 R 패키지는 사실상 이미 존재한다고 보면 된다.

 

사용자를 위한 내장된 기능이 매우 많으며, 확장성이 좋고 개발자에게 데이터 분석을 위한 자체 도구와

방법을 만들 수 있는 풍부한 기능을 제공한다.

 

 


R의 단점


 

R에는 장점이 많지만 단점도 존재한다.

 

1. 메모리 관리, 속도 문제

R 언어는 그 설계 특성상 매우 큰 데이터 집합을 사용한 작업을 수행할 때 문제가 발생할 수 있다.

데이터를 물리적 메모리에 저장하기 때문이다.

이러한 문제에 대해 새로운 R 버전이 나올 때마다 지속적으로 개선이 되고 있으며,

최근에는 메모리의 용량이 증가함에 따라 이러한 문제도 어느 정도 보완이 가능한 문제로 생각된다.

 

 

 

2. 보안성

R은 자체적으로 보안 관련 기능이 없다.

하지만, 오픈소스 프로그램들이 가진 공통적인 문제이며 AWS와 같은 플랫폼 상에서 활용하여

보안 문제를 보완하는 식으로 문제를 예방하고 있다.

 

 

 

 

지금까지 R의 장단점과 필요한 이유에 대해서 알아보았다.

 

 

필자가 R에 가장 매력을 느끼는 부분은

오랜 기간동안 수많은 사용자들에 의해 구현된 R 패키지들을 쉽게 접하며, 

이러한 패키지를 공부하면서 다양한 실제 케이스에서 발생할 수 있는 문제점과

이를 해결하는 접근 방식을 배울 수 있다는 점이다.

 

R을 공부하면서 배우는 이러한 방식의 학습은 앞으로 마주하게 될 문제들을 해결하는데 있어 큰 도움이 될 것 같다.

 

 

 

댓글