R and Python are both opensource programming languages with a large community. New libraries or tools are added continuously to their respective catalog. R is mainly used for statistical analysis while Python provides a more general approach to data science.
R and Python are state of the art in terms of programming language oriented towards data science. Learning both of them is, of course, the ideal solution. R and Python requires a timeinvestment, and such luxury is not available for everyone. Python is a generalpurpose language with a readable syntax. R, however, is built by statisticians and encompasses their specific language.
In this tutorial, you will learn
 R
 Python
 Popularity index
 Job Opportunity
 Analysis done by R and Python
 Percentage of people switching
 Difference between R and Python
 R or Python Usage
R
Academics and statisticians have developed R over two decades. R has now one of the richest ecosystems to perform data analysis. There are around 12000 packages available in CRAN (opensource repository). It is possible to find a library for whatever the analysis you want to perform. The rich variety of library makes R the first choice for statistical analysis, especially for specialized analytical work.
The cuttingedge difference between R and the other statistical products is the output. R has fantastic tools to communicate the results. Rstudio comes with the library knitr. Xie Yihui wrote this package. He made reporting trivial and elegant. Communicating the findings with a presentation or a document is easy.
Python
Python can pretty much do the same tasks as R: data wrangling, engineering, feature selection web scrapping, app and so on. Python is a tool to deploy and implement machine learning at a largescale. Python codes are easier to maintain and more robust than R. Years ago; Python didn't have many data analysis and machine learning libraries. Recently, Python is catching up and provides cuttingedge API for machine learning or Artificial Intelligence. Most of the data science job can be done with five Python libraries: Numpy, Pandas, Scipy, Scikitlearn and Seaborn.
Python, on the other hand, makes replicability and accessibility easier than R. In fact, if you need to use the results of your analysis in an application or website, Python is the best choice.
Popularity index
The IEEE Spectrum ranking is a metrics that quantify the popularity of a programming language. The left column shows the ranking in 2017 and the right column in 2016. In 2017, Python made it at the first place compared to a third rank a year before. R is in 6^{th} place.
Job Opportunity
The picture below shows the number of jobs related to data science by programming languages. SQL is far ahead, followed by Python and Java. R ranks 5^{th}.
If we focus on the longterm trend between Python (in yellow) and R (blue), we can see that Python is more often quoted in job description than R.
Analysis done by R and Python
However, if we look at the data analysis jobs, R is by far, the best tool.
Percentage of people switching
There are two keys points in the picture below.
 Python users are more loyal than R users
 The percentage of R users switching to Python is twice as large as Python to R.
Difference between R and 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 
Popularity of Programming Language. Percentage change  4.23% in 2018  21.69% in 2018 
Average Salary  $99.000  $100.000 
Integration  Run locally  Wellintegrated with app 
Task  Easy to get primary results  Good to deploy algorithm 
Database size  Handle huge size  Handle huge size 
IDE  Rstudio  Spyder, Ipthon Notebook 
Important Packages and library  tydiverse, ggplot2, caret, zoo  pandas, scipy, scikitlearn, TensorFlow, caret 
Disadvantages  Slow High Learning curve Dependencies between library  Not as many libraries as R 
Advantages 


R or Python Usage
Python has been developed by Guido van Rossum, a computer guy, circa 1991. Python has influential libraries for math, statistic and Artificial Intelligence. You can think Python as a pure player in Machine Learning. However, Python is not entirely mature (yet) for econometrics and communication. Python is the best tool for Machine Learning integration and deployment but not for business analytics.
The good news is R is developed by academics and scientist. It is designed to answer statistical problems, machine learning, and data science. R is the right tool for data science because of its powerful communication libraries. Besides, R is equipped with many packages to perform time series analysis, panel data and data mining. On the top of that, there are not better tools compared to R.
In our opinion, if you are a beginner in data science with necessary statistical foundation, you need to ask yourself following two questions:
 Do I want to learn how the algorithm work?
 Do I want to deploy the model?
If your answer to both questions is yes, you'd probably begin to learn Python first. On the one hand, Python includes great libraries to manipulate matrix or to code the algorithms. As a beginner, it might be easier to learn how to build a model from scratch and then switch to the functions from the machine learning libraries. On the other hand, you already know the algorithm or want to go into the data analysis right away, then both R and Python are okay to begin with. One advantage for R if you're going to focus on statistical methods.
Secondly, if you want to do more than statistics, let's say deployment and reproducibility, Python is a better choice. R is more suitable for your work if you need to write a report and create a dashboard.
In a nutshell, the statistical gap between R and Python are getting closer. Most of the job can be done by both languages. You'd better choose the one that suits your needs but also the tool your colleagues are using. It is better when all of you speak the same language. After you know your first programming language, learning the second one is simpler.
Conclusion
In the end, the choice between R or Python depends on:
 The objectives of your mission: Statistical analysis or deployment
 The amount of time you can invest
 Your company/industry mostused tool