- September 9, 2020
- Posted by: Abhay Das
- Category: Application Engineering
No Comments
R | Python | |
---|---|---|
Usage | The purpose of R is to develop a language that focused on delivering a more user-friendly way to perform data analysis, statistics and graphical models. | It is an object-oriented programming language, which means it groups data and codes into objects that can interact with and modify one another. It allows developers to execute tasks with better stability, modularity, and code readability. |
Statistical analysis | R was built to do statistical and numerical analysis of large data sets, so that you’ll have many options while exploring data with R. | statsmodels in Python and other packages provide decent coverage for statistical methods. |
Dashboard | Shiny library which allows for creating rich interactive web apps. It is recommended for complex and customized applications. | Shiny library which allows for creating rich interactive web apps. It is recommended for complex and customized applications. |
Big data | R is considered slow. It requires its objects to be stored in a physical memory. | R is considered slow. It requires its objects to be stored in a physical memory. |
Data Analysis | R is convenient for analysis due to the huge number of inbuilt packages, readily usable tests and the advantage of using formulas. R is the more efficient language for task. | The Python packages for data analysis were an issue but this has improved with the recent versions. Numpy and Pandas are used for data analysis in Python. |
Machine learning & Deep Learning. | For ML problems Caret being a very popular one and R has many packages for ML. The Nnet library is a suitable platform for modeling neural networks. If a machine learning program requires a wide range of operations, R may present some constraints. |
Python has popular ML packages in today’s world. Scikit-learn presents users with several fundamental tools for creating machine learning models. For creating DL models packages such as tensorflow , pytorch, theano are more efficient and robust when compared with R. |
Time series | R is better choice for Advanced Hidden Markov models, Hierarchical time series forecasting and advanced econometric models. | Python is a better choice for LSTM and other deep learning models for time series. |
NLP | R doesn’t offer great built-in string manipulation. A specific Rword2vecs package exists to provide word2vec model, while the LDA is available within the MASS package. | Python has a diverse ecosystem supporting NLP. NLTK that provides a library for preprocessing. For modelling it offers Gensim that provides both LDA and word2Vec models. |
Object-relational mapping (ORM): | R has none | Python has two well used ORM libraries in Django ORM and SQL Alchemy. |
Authentication & Authorization | R lacks proper support for these kinds of features. | Setting up an authentication & authorization layer on an API is done by Flask login, or Auth0 in Python. |
Data Acquisition | R has much less coverage, rest call is being supported by a mixture of httr & jsonlite, while soap calls require a mixture of the Rcurl and XML package. For GraphQL there are few wrapper libraries . | Python provides great support for API calls, Rest API calls are handled by the requests library, while SOAP call are usually handled using Zeep, and offers a few clients for GraphQL. |
Web Scraping | R leverages Rvest, a library part of the Tidyverse. | Python handles web scraping through the BeautifulSoup library |
In-database computation | R is Supported by SQL Server, Postgres, Teradata and Oracle. | Python has fewer options, it is supported by Postgres, Microsoft’s SQL Server. |
Workflow Automation | R doesn’t have a Workflow automation tool written in its language. | Python has two key workflow automation tools, Airflow and Luigi. |
SDK | R on the other hand has no such support or have to use unofficial package library such as cloudyr that contains SDKs features. | On AWS it is supported through the Boto SDK, on azure python is supported by a SDK . Google Cloud also supports through a SDK client. |
Cloud-ML Services | R is supported by multiple cloud service for instance Azure ML Services and Google CloudML service. | Python is supported by all cloud platforms, having integration on AWS, Azure ML Services, Sagemaker and Google Cloud. |
Serverless | No official support currently exists for R on these platforms | Python has serverless function support for AWS Lambda, Azure functions or Google Functions. |