R is an open-source programming language that is widely used as a statistical software and data analysis tool. R generally comes with the Command-line interface. R is available across widely used platforms like Windows, Linux, and macOS. Also, the R programming language is the latest cutting-edge tool.

It was designed by **Ross Ihaka and Robert Gentleman** at the University of Auckland, New Zealand, and is currently developed by the R Development Core Team. R programing language is an implementation of the S programming language. It also combines with lexical scoping semantics inspired by Scheme. Moreover, the project conceives in 1992, with an initial version released in 1995 and a stable beta version in 2000.

#### Why R Programming Language?

- R programming is used as a leading tool for machine learning, statistics, and data analysis. Objects, functions, and packages can easily be created by R.
- It’s a platform-independent language. This means it can be applied to all operating system.
- It’s an open-source free language. That means anyone can install it in any organization without purchasing a license.
- R programming language is not only a statistic package but also allows us to integrate with other languages (C, C++). Thus, you can easily interact with many data sources and statistical packages.
- The R programming language has a vast community of users and it’s growing day by day.
- R is currently one of the most requested programming language in the Data Science job market that makes it the hottest trend nowadays.

#### Features of R Programming Language

**Statistical Features of R:**

**Basic Statistics:**The most common basic statistics terms are the mean, mode, and median. These are all known as “Measures of Central Tendency.” So using the R language we can measure central tendency very easily.**Static graphics:**R is rich with facilities for creating and developing interesting static graphics. R contains functionality for many plot types including graphic maps, mosaic plots, biplots, and the list goes on.**Probability distributions:**Probability distributions play a vital role in statistics and by using R we can easily handle various types of probability distribution such as Binomial Distribution, Normal Distribution, Chi-squared Distribution and many more.

**Programming Features of R:**

**R Packages:**One of the major features of R is it has a wide availability of libraries. R has CRAN(Comprehensive R Archive Network), which is a repository holding more than 10, 0000 packages.**Distributed Computing:**Distributed computing is a model in which components of a software system are shared among multiple computers to improve efficiency and performance. Two new packages**ddR and multidplyr**used for distributed programming in R were released in November 2015.

#### Programming in R:

Since R is much similar to other widely used languages syntactically, it is easier to code and learn in R. Programs can be written in R in any of the widely used IDE like **R Studio, Rattle, Tinn-R**, etc. After writing the program save the file with the extension **.r**. To run the program use the following command on the command line:

R file_name.r

**Example:**

`# R program to print Welcome to GFG! ` ` ` `# Below line will print "Welcome to GFG!" ` `cat` `(` `"Welcome to GFG!"` `) ` |

*chevron_right*

*filter_none*

**Output:**

Welcome to GFG!

**Advantages of R:**

- R is the most comprehensive statistical analysis package. As new technology and concepts often appear first in R.
- As R programming language is an open source. Thus, you can run R anywhere and at any time.
- R programming language is suitable for GNU/Linux and Windows operating system.
- R programming is cross-platform which runs on any operating systems.
- In R, everyone is welcome to provide new packages, bug fixes, and code enhancements.

**Disadvantages of R:**

- In the R programming language, the standard of some packages is less than perfect.
- Although, R commands give little pressure to memory management. So R programming language may consume all available memory.
- In R basically, nobody to complain if something doesn’t work.

**Applications of R:**

- We use R for Data Science. It gives us a broad variety of libraries related to statistics. It also provides the environment for statistical computing and design.
- R is used by many quantitative analysts as its programming tool. Thus, it helps in data importing and cleaning.
- R is the most prevalent language. So many data analysts and research programmers use it. Hence, it is used as a fundamental tool for finance.
- Tech giants like Google, Facebook, bing, Accenture, Wipro and many more using R nowadays.

R and Python both play a major role in data science. It becomes confusing for any newbie to choose the better or the most suitable one among the two, R and Python. So take a look at R vs Python for Data Science to choose which language is more suitable for data science.

## Recommended Posts:

- Difference Between Machine Language and Assembly Language
- Difference Between Assembly Language And Machine Language
- Interesting Facts about R Programming Language
- Differences Between MATLAB and R Programming Language
- Boxplots in R Language
- Finding Day and Month on a Specific Date in R Language - weekday() and month() function
- Histograms in R language
- Scatter plots in R Language
- Datatypes in R language
- Web Scraping using R Language
- Playing a beep Sound in R Language - beep() Function
- Getting attributes of Objects in R Language - attributes() and attr() Function
- Find Location and Character Vector of an Object with partial name in R Language - apropos() and find() Function
- Case conversion of a String in R Language - toupper(), tolower(), casefold() and cartr() Function
- Modify values of a Data Frame in R Language - transform() Function
- Remove Leading whitespaces from a String in R Language - trimws() Function
- Changing row and column values of a Matrix in R Language - sweep() function
- Rounding off values in R Language - round() Function
- Converting a List to Vector in R Language - unlist() Function
- Job Control Language (JCL) Utilities

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.