What is R Programming?
R is one of the most popular scripting languages for statistical programming today. The demand of R programmers has been constantly on the rise since the early 2010s and R still enjoys the status as a go-to programming language among data scientists.
R has also been adapted to deep learning these days and this helped several statisticians take on to deep learning in their respective fields easily, making R an indispensable part of the current burgeoning AI scenario.
Recommended Read: Python Data Science Libraries
History of R Programming Language
R has a precursor named S (S stands for statistics) language, developed by AT&T for statistical computation. AT&T began its work on S in 1976, as a part of its internal statistical analysis environment, which was earlier implemented as FORTRAN libraries.
The man behind S was John Chambers. The single-letter name S was inspired by the ubiquitous C language for programming at the time.
R was developed by Ross Ihaka and Ross Gentleman in a project that was conceived in 1992 at the University of Auckland, New Zealand. The first version was released in 1995 and the first stable beta version came up in the year 2000.
R initially differed from S as it added lexical scoping semantics on top of the existing S functionalities. The mono-letter name R was inspired by S again, taking the first letter of both the authors’ first names.
R was developed under GNU public license and openly distributable.
S programming language was later developed into S-plus by TIBCO corporation that bought it from AT&T, by adding some advanced analytical abilities and OOP capabilities.
Features of R Programming
- Platform independent – Runs on several computing platforms such as Windows, Linux, and Mac OS.
- Portable – Easy to run on mobiles, tablets and gaming consoles.
- Frequent releases – Resulting in timely bug fixes and less frustration.
- Superior Graphics – Compatibility with aesthetic graphical libraries like ggplot2 and plotly ensures publication-quality graphics visualizations.
- Versatility – Hundreds of packages for specific purposes being developed and improved on a daily basis by the developer community.
Advantages of R Programming
R still remains more dominantly used statistical programming language compared to S and S-plus, and rightly so, owing to many of its virtues.
- R was developed with the intention of building an open-source implementation of S, therefore R is and will always remain an open-source software.
- R has thousands of professional scientists and statisticians constantly using and improving it.
- R is compatible with Windows, Mac, and Linux. It runs almost anywhere and doesn’t consume much space.
- In addition to the statistical processing features, R can also be used as a general programming language with functional programming and object-oriented programming capabilities.
- R has far more superior visualization features compared to several commercial products, due to the involvement of ggplot2 and plotly.
- The graphics provided by R are more beautiful and preferred by experts all over the world.
- R isn’t an innately graphical user interface based environment. It only takes commands as inputs, making it easy to save commands as scripts and port across domains.
- R sessions are efficiently managed. Your command history and data are saved between sessions, therefore you can pick up where you left with little hassle.
- R has a rich and responsive online developer community.
Limitations of R
R is thought to be the least disliked programming language. Despite all its advantages, R is far from perfect, like any other language. Before plunging into learning R, it will be useful to keep the shortcomings in mind.
- Steep Learning Curve: R is not an easy language to get started with. Beginners find it hard to get their feet wet due to the command-line interface. IDEs like RStudio will help overcome this limitation to some extent. Additionally, the wide array of packages can be confusing to beginners.
- Hungry for Physical Memory: Unlike its strong contender Python, R stores all its data in the physical memory. This makes it hard to handle huge datasets. But fortunately, Hadoop integration for R has improved a lot these days, alleviating the issue to a large extent.
- Slower execution: R would need a lot of optimization before your code can run as fast as it does on MATLAB or Python. A strong understanding of the internal working of objects is needed when designing a program to avoid slow execution.
Availability of R
R is available as a command-line interface environment at CRAN project (standing for Comprehensive R Archive Network). However, as a beginner you will learn faster with the help of an IDE, of which there are quite a few for R.
- RStudio : The most popular IDE for getting started with R. There are both desktop and enterprise versions available.
- StatET : An Eclipse-based IDE for R programming and package building.
- ESS-R project: Supports several statistical packages in addition to R, such as S-Plus, SAS, Stata and OpenBUGS/JAGS.