Skip to content

R vs. Python #
Find similar titles

개요 #

R과 Python은 데이터 분석에 주요 활용되는 프로그래밍 언어 중 하나이다. 이 둘의 차이점을 서술하여 데이터 사이언티스트들이 두 언어의 차이점을 알기 쉽도록 하고자 한다.

소개 #

R #

1995년 Ross Ihaka와 Robert Gentleman이 만든 오픈소스 랭귀지로, S 프로그래밍 언어를 기반하고 있다. 애초에 R은 데이터 분석이나 통계, 그래프 모델링을 할 때, 사용자가 이용하기 편리하게(user-friendly) 만들어진 언어이다. 처음에는 주로 학문적인 용도로 많이 사용되었으나 최근에는 기업에서도 R을 많이 사용하고 있는 추세이다. 비즈니스 세계에서도 R은 가장 빠르게 성장하고 있는 언어 중 하나이다. R의 최고 강점 중 하나는 사용자가 많다는 점이다. 즉, 어떤 문제에 직면했을때 쉽게 도움을 받을 수 있다. 활발한 커뮤니티가 바탕으로 메일이나 Stack Overflow에서 도움을 받거나, 사용자들이 작성해놓은 자료들을 참고할 수도 있다. CRAN을 통해서 R 패키지를 다운받을 수도 있다. 패키지는 최신 기술과 기능을 다 공부하지 않더라도 쉽게 접근할 수 있게 도와주는 R의 기능과 데이터의 집합이다. 마지막으로 특히 이전에 프로그래밍을 공부한 적이 있다면, R은 더 쉽게 배울 수 있다. 초심자의 경우 R을 배우는 것이 쉽지는 않지만, 최근에는 R을 배울 수 있는 자료들이 방대하고 비교적 쉽게 구할 수 있다.

Python #

파이썬은 1991년에 Guido Van Rossem이 생산성과 코드의 가독성에 초점을 맞추어 개발하였다. 통계학적 목적으로 데이터 분석이나 통계학적 테크닉을 적용 해보고 싶어하는 프로그래머들이 파이썬의 주 사용자들이다. 특히, 엔지니어 관련 일을 하게 될 수록 사람들은 파이썬을 선호한다. 파이썬은 유연하여 신박한 일을 하기에 적합하며, 파이썬의 특성 상 다른 프로그래밍 언어들에 비해 접근하기 쉬운 편이다. R과 마찬가지로 파이썬 역시 패키지가 있다. Pypi는 파이썬 패키지 인덱스로 R처럼 사용자들이 일궈놓은 라이브러리들로 구성되어 있다. 파이썬 역시 커뮤니티가 활발하지만, 다소 분산되어 있는 편이다. 그럼에도 데이터 사이언스 세계에서 파이썬은 점점 더 많이 사용하고 있다.

언제 어떻게 R을 사용하는가? #

R은 주로 개인 서버에서 데이터 분석작업이 필요할 때 사용된다. 특히 탐색 작업을 할 때 빛을 발한다. 언제든지 사용할 수 있는 엄청난 양의 패키지를 이용해 어떤 타입의 데이터도 분석할 수 있다. 빅데이터 분석도 가능하다. 처음 R을 시작한다면, R Studio IDE를 설치할 것을 추천한다. 다음은 인기있는 패키지에 대한 간략한 설명이다.

  • dplyr,plyr, data.table : 패키지를 다루기 쉽게 도와준다
  • stringr : string을 다룰때
  • zoo : 규칙/비규칙 시계열 데이터 작업할 때
  • ggvis,lattie, gglpot2 : 데이터를 시각화할 때
  • caret : 머신러닝할 때

언제 어떻게 파이썬을 사용할까? #

데이터 분석 작업이 웹앱과 합쳐져야 하는 경우나 통계 코딩이 생산 데이터 베이스을 포함하여야 하는 경우 파이썬을 사용할 수 있다. 이 언어가 완전히 익숙해진다면, 실제 운영을 위한 알고리즘을 시행하는데 있어서 굉장히 도움이 될 것이다.

과거엔 데이터 분석에 관련한 파이썬 패키지의 성능이 떨어졌지만, 최근 몇년 사이에 이 부분은 상당히 많이 개선되었다. 데이터 분석을 위해선 Numpy/SciPy와 pandas라는 패키지가 있는데, 이는 반드시 설치하는 편이 좋다. 머신 러닝을 할 때에는 scikit-learn를 그래프를 만들 때에는 matplotlib을 참고한다.

R과 달리 파이썬은 특출난 IDE가 없다. 대신 Spyder, IPython Notebook, Rodeo를 살펴보고 필요에 맞는 프로그램을 이용하면 된다.

R의 장점과 단점 #

장점 #

  • 하나의 그림이 몇 천자의 글자보다 더 많을 것을 함축한다.

시각화된 데이터는 일반적인 데이터보다 더 효과적이고 효율적으로 이해하기 쉽다. R과 시각화는 완벽한 커플일 정도로 좋은 그래핑 패키지들이 있다. 시각화 패키지는 gglot2, ggvis, googleVis, rCharts가 있다.

  • R 생태계

R은 엄청난 양의 패키지와 커뮤니티가 활발히 운영되고 있다. 패키지는 CRAN, BioConductor, Github에서 다운받을 수 있다. Rdocumentation에서 모든 R패키지를 검색할 수 있다.

  • R은 데이터 사이언스의 공통어이다.

R은 통계학자들이 통계학자들을 위해 만든 언어이다. R코드와 패키지를 통해서 아이디어와 컨셉을 공유할 수 있어서 반드시 컴퓨터를 전공하지 않았더라도 배울 수 있다.

단점 #

  • R은 느리다.

R은 기본적으로 컴퓨터가 아니라 통계학자들을 위해 만들어진 언어이다. 비록 R이 형편없이 쓰여진 코드때문에 느릴 순 있지만, pqR, renjin and FastR, Riposte 등의 패키지로 R의 실행 속도를 향상시킬 수 있다.

  • R은 처음 배우기 어렵다.

특히 GUI를 사용했던 사람이라면 더더욱 R을 처음 접근하기가 힘들다. R에 익숙하지 않다면, 패키지를 찾는 것 또한 시간이 많이 소요된다.

Python의 장점과 단점 #

장점 #

  • IPython Notebook

IPython Notebook은 파이썬과 데이터를 더 쉽게 다룰 수 있게 해준다. Notebook은 추가 설치 프로그램 없이 동료들과 공유할 수 있다. 노트 파일, 아웃풋과 코드를 작성하는 데 걸리는 시간을 줄일 수 있다.

  • 일반용 언어

파이썬은 일반용 언어로 쉽고 직관적이다. 상대적으로 접근하기 쉬우며, 프로그램을 작성할 때 속도가 빠르다. 즉, 코딩을 하는 시간은 줄고 데이터를 직접 다룰 수 있는 시간이 많아진다. 게다가 파이썬 테스팅 프레임워크(Python testing framework)는 이미 설치되어 있고, 접근하기 쉬운 테스팅 프레임 워크로 좋은 검사 방법을 권장해준다. 또한 코드가 재 사용가능하고 믿을만 한지를 검증해준다.

  • 다용도 언어

파이썬은 다양한 백그라운드를 가진 사람들을 모아주는 역할을 한다. 통계학자들도 쉽게 배울 수 있고, 프로그래머들도 이미 알고 있는 일반적이고 이해하기 쉬운 언어로, 작업흐름의 부분 부분을 통합할 수 있는 툴을 만들 수 있다.

단점 #

데이터 분석 소프트웨어를 선정할 때 시각화는 중요한 기준입니다. 파이썬에도 Seaborn, Bokeh, Pygal과 같이 몇몇의 좋은 시각화 라이브러리가 존재하지만, R에 비해선 선택의 폭이 좁다. 게다가 시각화하는 법도 보통 난해하며, 결과도 기대 이하인 경우가 많다.

  • 파이썬은 도전자이다

파이썬은 R에 도전하고 있다. 몇 백 개나 되는 필수적인 R패키지에 대한 대응책을 충분히 제공하고 있지 않다. R을 따라잡는 중이지만, 과연 궁극적으로 사람들이 R을 포기하고 파이썬을 선택할 지는 미지수이다.


출처: http://www.kdnuggets.com/2015/05/r-vs-python-data-science.html

Suggested Pages #

0.0.1_20140628_0