본문 바로가기
  • "You can't manage what you can't measure" Peter Drucker
데이터 분석 (with Rstudio)

R과 Python 비교 및 선택

by Vitaminymc 2023. 8. 13.
반응형

데이터 분석에 관심이 많은 사람들이 고민하는 것 중에 하나가, R을 배워야 할지, Python을 배워야 할지에 대한 문제다.

최근 대세는 Python으로 증가하는 경향이 있으나, 유행보다 본인의 Backgroud 및 전공과 데이터 분석의 목적에 따라

전략적 선택이 필요하다.  

R과 Python의 특성 비교

R과 Python은 성격이 다른 프로그래밍 언어이다. 정확하게 R을 프로그래밍 언어라고 부르는 것은 애매한 부분이 있다.

 

R

R은 통계 분석과 데이터 시각화에 특화되어 있으며, 상대적으로 데이터 분석에 쉽게 사용할 수 있는 문법을 가지고 있다.

R은 통계 분석, 행렬, 선형 모델 등을 지원하며, 여러 가지 패키지를 통해 다양한 분석 기능을 제공한다.

 

Python

Python은 일반적인 프로그래밍 언어로서 다양한 분야에서 사용되고 있으며, 데이터 분석에도 이용되고 있다.

Python은 다양한 라이브러리를 지원하여 데이터 분석, 머신 러닝, AI, 웹크롤링 등을 비교적 쉽게 구현할 수 있다.

'비교적 쉽게'라는 표현이 중요하다. 개인의 Background 및 전공에 따라, 느끼는 난이도는 천차만별이다.

 

정리

R은 데이터 분석 및 통계 분석에 특화되어 있으며,

Python은 데이터 분석 뿐만 아니라, 머신 러닝 등 다양한 분야에서 사용된다. 

Python 관련 한글 자료를 R보다 쉽게 찾을 수 이유 중에 하나는,

Python으로 주식 정보, 부동산 정보 등을 자동 웹크롤링하여 매도, 매수 프로그램을 작성한 사례가 많다는 것이다.

역시, 돈이 연결되어야 관심과 활용도가  증가한다.

물론, R도 웹크롤링, 머신 러닝이 가능하다. 

 

추가 고려사항

Python이 머신러닝, AI 등 고도화된 빅데이터관련 기술 구현이 가능하지만,

실제로 이러한 머신러닝, AI 솔루션은 Python이 아닌, C++ 등으로 개발한다는 것이다.

(Python과 C++의 상대적인 성능 차이)

또한, 웹크롤링은 저작권 이슈가 있을 수 있다. (Python, R 모두 해당)

 

[R VS. Python] 어떤 것을 배워야 하나?

데이터 분석에 한정하면, 둘 다 데이터 분석과 관련된 분야에서 사용되고 있다.

위에 R과 Python의 특성처럼

통계 분석과 데이터 시각화에 관심이 있다면 (또는 이 정도의 분석으로 충분하다면)

R을 학습하는 것이 적합

반면에 데이터 분석 이외의 분야도 공부하고 싶다면, Python을 학습하는 것이 적합

 

R과 Python을 모두 학습하면, 더 다양한 분야에서 응용 가능할 수 있다.

실제로 R을 먼저 배우고 Python을 배운 사람들 중에 일부는 둘의 특성을 잘 알고 있기 때문에

데이터 분석은 R을 사용하고, 어플리케이션으로 개발은 Python을 사용하는 식으로

둘 다 사용한다고 한다.

Python을 먼저 배운 사람들은 R의 문법이 Python과는 다르게 때문에, 그냥 Python을 사용한다고 한다.

 

R is for Research, Python is for Production

대부분의 결론이다.

Posit이 Rstudio에서 회사명을 변경한 이유는 R user만이 아닌, Python user를 대상으로 대상 고객을 넓히고,

데이터 분석 관련 모든 것을 통합 제공하려는 의도가 있다고 한다.

결국은 R이나 Python이냐 문제보다는 뭐 하나라도 배우는 것이 중요한 것 같다.

그리고 동영상 1개를 본다면, 

https://youtu.be/4lcwTGA7MZw

[youtube.com] IBM Technology, R vs Python

[youtube.com] IBM Technology, R vs Python (Martin Keen, IBM Cloud Master Inventor)

상기 유튜브의 결론은 둘 다 사용하게 될 것이라는 것이다.

most organizations use a combination of both languages.
대부분의 조직에서는 두 언어를 조합하여 사용합니다

You might conduct early stage data analysis and exploration and R and then switch to Python when it's time to ship some data products.
초기 단계의 데이터 분석 및 탐색과 R을 수행한 다음 데이터 제품(프로그램, 솔루션)으로 만들 때가 되면
Python으로 전환할 수 있습니다.

So which should you use?  Both. You're probably going to use a bit of both.
그렇다면 어떤 것을 사용해야 할까요? 둘 다. 아마 둘 다 조금 사용하게 될 것입니다.

Source : IBM Technology 'R vs Python' 스크립트 번역

개인적으로 둘 다 사용하기 위해서는 R을 먼저 시작하는 것을 추천하고 싶다.

프로덕트로 개발하고 싶다면, R을 먼저 배우고 Python을 배우는 것을 추천한다.

728x90