R Programming Language
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4429573/r-logo.png)
Abdullah Fathi
Introduction to R
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4430894/r_v02_dribbble.gif)
History
- R is a programming language
- An implementation over S language
- Designed by Ross Ihaka and Robert Gentleman at the University of Auckland in 1993
- Stable released on 31 October 2014 (3 years ago), by R Development Core Team Under GNU General Public License
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4431027/giphy.gif)
What is R?
- Open source
- Cross Platform compatible
- Numerical and graphical analysis
- Large user community
- 9000+ extensions
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4429573/r-logo.png)
Why Learn R?
- One of the fastest growing programming language
-
R is widely used (statisticians, scientists, social scientists) and has the widest statistical functionality of any software
-
As a scripting language, R is very powerful, flexible, and easy to use
- Quality Graph
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4429573/r-logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433587/r-lang-popularity-increase.png)
Programming Language Ranking
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4432560/langrank117.png)
R Stack
- RStudio
- R Package
- Shiny
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4430930/rstudiosticker.png)
Integrated Development Environment
RStudio (IDE)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433551/rstudio.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433549/rstudio-windows.png)
R Package
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433640/package.jpeg)
Packages to expand the feature of R
1. Load Data
- RDBMS (MySQL, Postgres, Oracle)
- Non-Relational DB (mongo, cassandra)
- File (csv, excel, txt, etc)
- HDFS (Hadoop)
2. Data Wrangling (Dplyr)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4432853/remove-duplicate-data-r.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4432856/subsetting-data-frame-rows-in-r.png)
2. Data Wrangling (Dplyr)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4432861/reorder-rows-data-table-r.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4432883/rename-columns-data-frame-r.png)
2. Data Wrangling (Tidyr)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4432885/tidyr.png)
3. Data Visualization
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4432923/ggplot2.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4432943/pfs5p.png)
3. Data Visualization
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4432923/ggplot2.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4432940/unnamed-chunk-1-1.png)
3. Data Visualization
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4432966/Plotly-logo-01-square.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433038/ZNmaE.png)
3. Data Visualization
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4432966/Plotly-logo-01-square.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433004/anim.gif)
3. Data Visualization
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433048/NQRdC.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433075/highcharter-logo.png)
3. Data Visualization
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433101/logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433102/vWn6f.png)
3. Data Visualization
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433101/logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433106/bubblecharts.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433105/piecharts.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433104/leaflet.minicharts.png)
3. Data Visualization (other)
-
Base R
-
d3r (d3.js)
-
rcharts
-
ggvis
4. Predictive Modelling
-
Regression
-
Decision Trees
-
Random Forest
-
Arima (Time series)
-
Times Series Forecast (Arima)
-
Statistical Test (t-test, chi-squared-test, correlation)
-
Text Mining/Sentiment Analysis (tidytext, syuzhet, tm)
-
Web Scraping (rvest)
-
Many more...
5. Other great features
Shiny Dashboard
![](https://s3.amazonaws.com/media-p.slid.es/uploads/802713/images/4433652/shiny.png)
Build an interactive web applications for visualizing data. Bring R data analysis to life.
R as a calculator
2 + 2 # add numbers
2 * pi # multiply by a constant
7 + runif(1) # add a random number
3^4 # powers
sqrt(4^4) # functions
log(10)
log(100, base = 10)
23 %/% 2
23 %% 2
# scientific notation
5000000000 * 1000
5e9 * 1e3
Assigning values to R objects
val <- 3
val
print(val)
Val <- 7 # case-sensitive!
print(c(val, Val))
A key action in R is to store values in the form of R objects, and to examine the value of R objects.
R Programming Language (Intro)
By Abdullah Fathi
R Programming Language (Intro)
R Introduction
- 184