Posts R vs Python
Post
Cancel

R vs Python

리스트

  • R 소개
  • Python 소개
  • R vs Python
  • So What?

R 소개

개발
1993년 뉴질랜드에 위치한 오클랜드 대학교에서 개발.
목적
통계 및 그래프 작업을 위한 인터프리터 프로그래밍 언어.
유사 소프트웨어
SPSS, STATA, SAS, minitab, matlab

SPSS는 사회과학에서 많이 사용된다.

STATA는 계량경제학(특히 실증미시경제학) 특화. 상대적으로 배우기 쉬운 언어.

SAS는 통계학과에서 R과 함께 top 2

프로그램 환경

: *Rstudio(IDE), ConTEXT, Eclipse (StatET), Emacs (Emacs Speaks Statistics), LyX (modules for knitr and Sweave), vim, jEdit, Kate, Revolution R Enterprise DevelopR (part of Revolution R Enterprise), Sublime Text, TextMate, Atom, WinEdt (R Package RWinEdt), Tinn-R, Notepad++, IntelliJ IDEA, Visual Studio, Visual Studio Code, Architect,

Package Manager
CLAN, MRAN
패키지 개수
2020년 기준 15,400개 이상
기능
통계 그래픽 기술 구현. 웹 연동(Shiny), 데이터 마이닝, 빅 데이터 프로세싱, 기계학습 등에 유용.
단점
멀티코어 프로세싱에 불리(극복 방법이 있으나 다룰지 모르겠다.)

Python 소개

개발
1991년에 발표된, MATLAB과 유사한 인터프리터 방식의 프로그래밍 언어. 창시자 귀도 반 로섬은 천재다. 정말로
목적
쉬운 인터프리터 프로그래밍 언어. 1989년 귀도 반 로섬이 심심해서 개발하였다.

”"”프로그래밍 목적 언어이므로 R과는 달리 개발에 대한 이야기가 중간중간에 자주 등장할 것이다. 위키만 봐도 다루는 내용이 다르다”””


개발 환경

  • 콘솔
    IDLE, IPython
  • 텍스트 어디터
    Notepad++, Sublime Text, Atom, *Visual Studio Code(Yoo)
  • IDE
    *PyCharm(Lee), Spyde, Visual Studio
  • Notebook
    ipython, Jupyter Notebook, *JupyterLab(Yoo), Google Colaboratory
Package Manager
pip, virtualenv, Anaconda, Miniconda
패키지 개수
2018년 10월 기준 155,800 여개
기능
패키지 숫자만큼 다양한 기능. 만능에 가깝다. 하지만 그에 따른 단점도 있겠지?
단점
멀티스레딩 불가 문제(멀티코어와 멀티 스레딩은 다르다. 많이 다르다… 역시 멀티 코어를 활용하기 위한 방법이 있다), 난잡한 패키지 관리 및 하위 호환 에러(협업과 배포 전에 개발 환경에 대해서 깊은 협의가 필요하며, freeze 리콰를 꼭 익혀서 잘 사용하자). 파이썬은 쉬운(프로그래머에게 있어서 비교적 매우) 언어이기 때문에 많은 시도들이 있었고, 진행중이다 단점은 보완되기 마련이다.


R vs Python

| Parameter| R | Python | |:———|:————-|——:| | Objective| Data analysis and statistics | Deployment and production | | Primary Users| Scholar and R&D | Programmers and developers | | Flexibility | Easy to use available library | Easy to construct new models from scratch. I.e., matrix computation and optimization | |Learning curve|Difficult at the beginning|Linear and smooth| |Integration|Run locally|Well-integrated with app| |Task|Easy to get primary results|Good to deploy algorithm| |Database size|Handle huge size|Handle huge size| https://www.guru99.com/r-vs-python.html

So What?

”"”저의 결론은 연구용(알고리즘 검증, 통계 분석, more scientific work, -빅데이터나 대규모 프로젝트가 아닌 -금융 혹은 사내 리포트 등)에는 ‘R’, 개발과 분석은 내가 진행하지만 나아가서 많은 부가적 기능과 융합되는 산업용은 ‘Python’입니다.

‘R’이 더 정확하고 빠르다는 것은 확실하지만 범용성을 넓히기 위해서는 python보다 많은 노력이 필요합니다. 반대로 python은 범용성은 넓지만 전문 분야에 있어서는 ‘R’에 비해서 더 많은 노력이 필요합니다.

어느 언어가 쉽냐고 물었을 때, 솔직히 저는 극초반에는 python이, 초반에는 ‘R’이, 중반 이후로는 문과 출신이라면 어차피 어렵기는 마찬가지 입니다. 다만 python의 커뮤니티가 더 크기때문에 더 빠르게 해결할 수 있을것입니다.

속도가 어느게 빠르냐고 물어보면, 단순 데이터 분석은 ‘python’이 빠르지만 그래픽 작업과 정확도를 올리는 과정을 포함하면 ‘R’이 우세하고, 추가적 프로그래밍이 있다면 다시 ‘python’이 더 나을 것 같네요.


비교 링크

Python vs R for Data Science: And the winner is..

“파이썬 vs. R” 데이터 사이언스에 더 적합한 언어는?

R vs Python : Battle of the Best Programming Languages

위의 결론에 대한 상세한 내용이 있습니다. 꼭 확인해보시고 자신에게 적용해보세요

잡설

공학적인 작업을 하시는 분들에게는 MATLAB도 추천합니다. 하지만 저는 안합니다. 공대 출신 박사분들이 설립하거나 많은 회사에서는 사용한다고 하지만 비싸요… 굳이 안써요. 이런 언어를 쓸거면 C를 배우세요. 하하하하하 나도 잠시 썼지만 진짜 비싼 값은 하더군요. 아름다워. 근데 R과 Python의 최고 장점은 무엇보다 공짜라는 것인데 제가 쓸데없는 말을 했네요. 데이터 분석쪽에서 많은 소프트웨어가 나오고 있으므로 데이터 분석만 하고 싶다면 요즘 많은 데이터 분석 단기 과정을 하시는 것이 더 효율적일 수 있습니다. SQL과 테블로 키바나 뭐 이런 것들을 찾아보세요. 무료로 체험할 수 있으니 학습이 어렵지는 않습니다. excel을 잘 활용하고 계신분이라면 쉽게 학습하실 수 있을 것입니다.

업계 사정을 제가 꿰뚫고 있는 것은 아니지만 데이터 사이언티스트 분들이 수학/ 통계학(수학을 하시는 분들은 동일 선상에 놓는것 조차 싫어하실 수도 있지만)출신이므로 ‘R’이 더 선호되었던 때가 있으나, 그때도 python을 함께 활용했었습니다.

python이 데이터 전문성이 떨어지는 감이 있지만 많은 패키지들이 언젠가 따라잡겠지라고 생각하며, 데이터 사이언스는 아니어도 데이터 분석(이라고 말하는 흠… 뭐랄까 기본 소양?) 정도는 괜찮지 않은가 생각했더니 어느새인가 툴들이 많이 나오기 시작했습니다. 이제 진학 혹은 커리어를 고려하고 계신 분들이라면 파비 블로그를 둘러 보시며 잘 생각해보세요. 말을 쌔게 하시지만 현실적이면서 타당하고 공감이 가는 이야기가 많습니다.

사실 제일 필요한건 수학이나 경제학과 전문 지식이 아닐까 생각이 듭니다.

이 블로그를 통해서는 R과 Python 뿐만 아니라 기술이 사용되는 Data Science나 관련 업종에 대한 내용이 업로드될 것입니다. 아니면 제 개인 블로그로 가져가거나 ㅋ

This post is licensed under CC BY 4.0 by the author.