Python and R are popular programming languages for statistics. Although the functionality of R is developed with the help of statisticians (think of the strong visualization capability of R!), Python is often appreciated for its easy-to-understand syntax.
In this publication, we will highlight some of the differences between R and Python, and how these two have a place in the world of data science and statistics. If you prefer a visual representation, be sure to check the corresponding infographic “Data Science Wars: R vs Python”.
Introduction of R
Ross Ihaka and Robert Gentleman created the open source language R in 1995 as an implementation of the programming language S. The aim was to develop a language focused on setting up a better and more user-friendly way of doing data analyzes , Statistics and graphic models. In the beginning, R was mainly used in academics and research, but lately, the corporate world discovers R as well. This constitutes one of the most dynamic statistical languages in the world of business.
One of R’s main strengths is its enormous community that provides support through mailing lists, user-driven documents, and a very active stack overflow group. There is also CRAN, a huge repository of organized R packages to which users can easily contribute. These packages are a collection of R and data functions that facilitate immediate access to the latest techniques and features without having to develop anything from nothing.
Finally, if you are an experienced programmer, you probably will not have a hard time familiarizing yourself with R. As a beginner, you might find yourself struggling with the abrupt learning curve. Fortunately, there are many excellent learning resources that you can consult today.
Introduction of Python
Python was created by Guido Van Rossem in 1991 and focuses on the productivity and readability of codes. Programmers who want to deepen data analysis or apply statistical techniques are some of the main users of Python for statistical purposes.
The more you succeed in working in an engineering environment, the more likely it is that you would prefer Python. It is a flexible language that is ideal for doing something new, and by focusing on readability and simplicity, its learning curve is relatively low.
Similar to R, Python also has packets. PyPi is the Python Package index and consists of libraries to which users can contribute. Like R, Python has a large community, but it is a little more scattered, because it is a general language. Nevertheless, Python for Data Science quickly claims a more dominant position in the Python universe: expectations are growing and more innovative data science applications will see their origin here.
When and how to use R?
R is primarily used when the data analysis task requires stand-alone calculation or analysis on individual servers. This is great for exploring work and is handy for almost any type of data analysis because of the huge number of packages and easily usable tests that often provide you with the tools needed to get started quickly. R can even be part of a large data solution.
When you start with R, a good first step is to install the incredible RStudio IDE. Once this is done, we recommend that you check out the following popular packages:
- Dplyr, plyr and data.table to easily handle packets,
- Stringr to handle the strings,
- Zoo to work with regular and irregular time series,
- Ggvis, trellis and ggplot2 to visualize the data, and
- Automatic Cutting
When and how to use Python?
You can use Python when your data analysis tasks are to be integrated with Web applications or if the statistics code must be incorporated into a production database. Being a complete programming language, it is an excellent tool to implement algorithms for the use of production.
While childhood Python packages for data analysis was a problem in the past, this has improved dramatically over the years. Be sure to install NumPy / SciPy (scientific computing) and pandas (data manipulation) to make Python usable for data analysis. See Matplotlib for creating graphics and scikit-learn for machine learning.
Unlike R, Python does not have a “winning” IDE. We recommend that you consult Spyder, IPython Notebook and Rodeo to see which one best suits your needs.
Here is a comparative list
- R is great for prototyping and for statistical analysis.
- It has a huge set of libraries available for different statistical type analysis. IDE is a definitely a big plus. It eases most of the tedious tasks and fastens your workflow.
- The syntax could be obscure sometimes.
- It is harder to integrate to a production workflow.
- In my opinion, it is better suited for “consultancy-type” tasks.
- The libraries documentation isn’t always user friendly
- Python is great for scripting and automating your different data mining pipelines. It is the de facto scripting language nowadays.
- It also integrates easily in a production workflow.
- Besides, it can be used across different parts of your software engineering team (back-end, cloud architecture…).
- The scikit-learn library is awesome for machine-learning tasks.
- Ipython (and its notebook) is also a powerful tool for exploratory analysis and presentations.
- It isn’t as thorough for statistical analysis as R, but it has come a long way these recent years
- In my opinion, the learning curve is steeper than R, since you can do much more with Python.
source : kdnuggets and quora