**Introduction Of R programming Language -:** R is a programming language and free software environment for statistical computing and graphics supported by the R Foundation for Statistical Computing.

*R was developed by Ross Ihaka and Robert Gentleman in 1993.*

The R language is widely used among statisticians and data miners for developing statistical software and data analysis.

R is not only assigned by academia, but many large companies also use the R programming language, including Uber, Google, AirBnB, Facebook and so on.

Data mining surveys, and studies of scholarly literature databases show substantial increases in popularity as of September 2020.

## History of R programming language

R programming execute from S programming language. In 1991 Ross Ihaka and Robert Gentleman at the University of Auckland (It is in new Zealand) began an alternative execution of the basic S language, completely independent of S-PLUS. They started this project in 1993.

In 1995 Martin Maechler convinced Ihaka and Gentleman to make R free and open-source software under the GNU General Public License.

The R Development Core Team was created to manage the further development of R. John Chambers.

R is named partly after the first names of the first two R authors and partly as a play on the name of S.

**What is R used for **-: R used mostly like 3 type features

- Statistical Interface
- Data Analysis
- Machine Learning Algorithm

**Statistical Interface -:**A variety of statistical and graphical techniques are applied in R and its library, including linear and non-linear modeling, classical statistical testing, time-series analysis, classification, clustering, and others.

R is easily extensible through functions and extensions, and R is known for its active contribution in terms of community packages

Many of R’s standard functions are written in R itself (citation needed) which makes it easier for users to follow the algorithm choices made. For computationally intensive tasks, C programming, C ++ programming and FORTRAN code can be combined and called at run time.

Advanced users can write C, C++,Java, **.NET** or Python code to manipulate R objects directly. R programming is highly extensible through the use of user-submitted packages for specific functions or specific areas of study.

Due to its S heritage R programming has stronger object-oriented programming facilities than most statistical computing languages.(citation needed) extending R is also eased by its lexical scoping rules.

Another strength of R is static graphics, which can produce publication-quality graphs with mathematical symbols. Dynamic and interactive graphics are available through additional packages.

R has Rd, its own LaTeX-like documentation format, which is used to supply comprehensive documentation, both online in a number of formats and in hard copy.

**Data Analysis In R-:** In data analysis process we learn the fundamental of R syntax,dig into data analysis and data viz using popular tidy-verse package, query database with SQL and study statistics among other thing.

In data analysis process included data structure as like data vectors, matrices, list, data frame control flow, iteration,data specialized data processing,string ,dates and function etc. are available.

**Machine Learning Algorithm-:** There are many machine learning algorithm is available. The KNN ( k-nearest neighbors) algorithm is one of the simplest machine learning algorithms and is an example of instance-based learning, where new data are classified based on stored, labeled instances.

The best algorithms for machine learning can be implemented with R. Packages like Keras and TensorFlow allow to create high-end machine learning technique. R also has a package to perform Xgboost, one the best algorithm for Kaggle competition.

**Interfaces of R programming-:** The most specialized integrated development environment (IDE) for R is R Studio. It is similar development interface like a Visual Studio. Some generic IDE like Eclipse, also offer features to work with R.

Graphical user interfaces with more of a point-and-click approach include Rattle GUI, R Commander, and RKWard.

R functionality is accessible from several scripting languages such as Python, Perl, Ruby, F#, and Julia. Interfaces to other, high-level programming languages, like Java and .NET C# are available as well.

**Importance of R Programming**

1-: There are a lot of tools available in the market for conducting data analysis. Learning a new language requires some time investment. The picture below depicts the learning curve in comparison to professional competence that a language provides.

2-: A negative relationship implies that there is no free lunch. If you want to give the best insights from the data, then you need to spend some time learning the appropriate tools, that R.

3-:Python is a fantastic tool to deploy Machine Learning and AI but lacks communication features. With an identical learning curve, **But R is a good trade-off between implementation and data analysis.**

4-:When it comes to data visualization (DataViz), you would probably heard about Tableau. Tableau is, without a doubt, a great tool to discover patterns through graphs and charts. Besides, learning Tableau is not time-consuming.

Another big problem with data visualization is you might end up never finding a pattern or just create plenty of useless charts. Tableau is a good tool for quick visualization of the data or Business Intelligence. When it comes to statistics and decision-making tool, R is more appropriate.

5-: Stack Overflow is a big community for programming languages. If you have a coding issue or you need to understand a model, Stack Overflow R is here to help. Over the year, the percentage of question-views has increased sharply for R compared to the other languages. This trend is of course highly correlated with the booming age of data science but, it reflects the demand of R language for data science.