SlideShare a Scribd company logo
R programming
AGENDA
• History and evolution of R
• Principle and software
paradigm
• Description of R interface
• Advantages of R
• Drawbacks of R
• So why use R?
• References for learning R
HISTORY AND EVOLUTION OF
R
R has developed from the S language
HISTORY AND EVOLUTION OF R
S Version 1
S Version 2
S Version 3
S Version 4
Developed 30 years ago for
research
applied to the high-tech industry
99 ’s:ϭ Ϭ R developed
concurrently with S
1993: R made public
The regular development of R
HISTORY AND EVOLUTION OF R
Acceleration of R
development
R-Help and R-Devl mailing-lists
Creation of the R Core Group
Source: R Journal Vol
1/2
Growing number of packages
HISTORY AND EVOLUTION OF R
2001: ~100 packages
2009: Over 2000
packages
Source: R Journal Vol
1/2
2000: R version 1.0.1
Today: R version
2.14
Explosion of R popularity in the last decade
HISTORY AND EVOLUTION OF R
 Object-oriented, growing user base, scripting
features
 Free and open-source
 Irrational reasons: R seen as « cool »
Comparison of Mailing Lists
HISTORY AND EVOLUTION OF
R
Popularity amongst programming languages
HISTORY AND EVOLUTION OF
R
Number of Blogs
HISTORY AND EVOLUTION OF R
Data as on Mar
2012
Software Number of Blogs
R 365
SAS 40
Stata 8
Others 0-3
AGENDA
• History and evolution of
R• Principle and software paradigm
• Description of R
interface
• Advantages of R
• Drawbacks of R
• So why using R?
• References for learning R
 R is rather a programming language
 Limited user-friendly interfaces for data analysis
 Is object oriented and almost non declarative
 Similar to programming languages like Fortran, C, Java,
Python
R is not really a (statistical) software
PRINCIPLE AND SOFTWARE
PARADIGM
Recent endeavours to enhance R user-
friendliness Several GUIs in development
R-commander
RKWard
Rattle
R has limited Graphical User Interface (GUI) options
PRINCIPLE AND SOFTWARE
PARADIGM
R Commander (RCmdr)
PRINCIPLE AND SOFTWARE
PARADIGM
RKWard
PRINCIPLE AND SOFTWARE
PARADIGM
Rattle
PRINCIPLE AND SOFTWARE
PARADIGM
Inherent limitations of pervasive Excel-like spreadsheets
PRINCIPLE AND SOFTWARE
PARADIGM
VS.
Sophisticated but costly SAS
PRINCIPLE AND SOFTWARE
PARADIGM
VS.
AGENDA
• History and evolution of R
• Principle and software
paradigm• Description of R interface
• Advantages of R
• Drawbacks of R
• So why using R?
• References for learning
R
R console
DESCRIPTION OF R INTERFACE
R desktop
shortcut
RGui: R basic
interface
R command
line (space to
write
instructions)
Using the command line in R console
DESCRIPTION OF R INTERFACE
First false
sentence followed
by R’s error
message
Second correct
sentence
Declaration and
printing of the
sentence as a R
object
Simple math
computations
Basic information
about the R object
containing the
sentence
RGui menu: File tab
DESCRIPTION OF R INTERFACE
File tab: Usual
basic and general
operations
RGui menu: Edit tab
DESCRIPTION OF R INTERFACE
Edit tab: basic
and general
editing
Results of
the
data editor
Data editor:
entering the
oďjeĐt’s
name
RGui menu: View tab
DESCRIPTION OF R INTERFACE
View tab:
viewing Toolbar
and/or Status bar
RGui menu: Misc tab
DESCRIPTION OF R INTERFACE
Misc tab:
diverse
operation
s
RGui menu: Packages tabs
DESCRIPTION OF R INTERFACE
Packages tab:
adding functions
to R foundation
RGui menu: Windows tab
DESCRIPTION OF R INTERFACE
Windows tab:
usual options
to arrange the
tiles
RGui menu: Help tab
DESCRIPTION OF R INTERFACE
Help tab: very
important
links to help
AGENDA
• History and evolution of R
• Principle and software
paradigm
• Description of R interface• Advantages of R
• Drawbacks of R
• So why using R?
• References for learning
R
 Open source code
 You can access the code of the
software
 In-depth understanding of what R does
 Modify the code
ADVANTAGES OF R
Adress of the
« mgcv » package
Link with Package sources (.tar.gz file)
Screenshot of the CRAN webpage of the « mgcv » package. Source: CRAN
R access to source code
ADVANTAGES OF R
Screenshot of unzipping the « mgcv » package and browsing through the package’s
files.
Unzipping
mgcv_1.7-
13.tar.gzfile (with 7zip)
List of
directories in the
« mgcv »
package
List of functions (i.e
open code) in the « src
» (i.e code sources)
directory the « mgcv »
package1 2 3
R is free
ADVANTAGES OF R
Software Academics Demo Commercial
(basic)
Commercial (full)
R Free Free Free Free
SAS Free to $100s Not available $1 000s $10 000s
Statistica $100s 30 days limit ~$1 000 $10 000
Excel
(Microsoft)
Free to $10s Limited ~$100 $100s
SPSS (IBM) $100s 14 days limit ~$2 000 $1 000s
Interface with other languages and scripting capabilities
ADVANTAGES OF R
Interfaces with virtually any other programming language
Fortran, C, C++, Python…
Tailor or rewrite your old codes in R
R as a scripting language
R scripts can launch or be launched by other languages
« mgcv.c » file in the
« mgcv » package coded in typical C programming language
Screenshot of the file « mgcv.c » of the « mgcv » package open in WordPad
R visualization capabilities
ADVANTAGES OF
R
R visualization capabilities
ADVANTAGES OF
R
R visualization capabilities
ADVANTAGES OF
R
 R ~ tool used by the finest
researchers
 Top-notch analytics capabilities
R role in academia
ADVANTAGES OF R
Free open source philosophy
To summarize
ADVANTAGES OF R
 R websites with many
examples
 Free books
 Free online open courses
 Twitter accounts
Online help and discussion
 Mailing-lists
 Very active and diverse forums
 Communities of developers and
helpers
AGENDA
• History and evolution of R
• Principle and software
paradigm
• Description of R interface
• Advantages of R• Drawbacks of R
• So why using R?
• References for learning
R
Poor management of large datasets
Avoid imbricated loops
Prefer R advanced language for data structure
Complicated structure of packages in R
 Dozen of packages
 To be loaded every time in memory
R packages to better manage memory
 Rhadoop (inspiration from Google)
 Ff
 bigmemory
Average memory performance
DRAWBACKS OF R
No default parallel execution
R packages to use several cores
Top skills needed for high performance computing
A high-level programming language
Abstract and modern (Python…Ϳ
More productive coding
But further from « machine language »…
… meaning 100 times slower than C
Average computing performance
DRAWBACKS OF R
Difficult to inspect data
sets
Difficult data visualization and management
DRAWBACKS OF R
Problems for large organizations
R made of several thousands independent packages
No deployment plan for complex organizations
No installation support
Lack of code accountability
Thousands of individual independent R developers
Nobody responsible for the quality of the code
Potentially high hidden costs with R
 Total cost may favour commercial solutions for complex computations made in
large
corporations
Difficult architecture management
DRAWBACKS OF R
Steep learning curve
R code far from undergrad computer science courses
Very complex data structures (useful if mastered)
Is R’s syntax not logical?
Relatively difficult to learn
DRAWBACKS OF R
Still, not more difficult to learn than
SAS


Both SAS and R more abstract than basic programming languages (Fortran, C…
Ϳ Difficult to learn = more rewarding professionally!!
AGENDA
• History and evolution of R
• Principle and software
paradigm
• Description of R interface
• Advantages of R
• Drawbacks of R• So why use R?
• References for learning
R
No language is perfect!!
Contradictory objectives to meet
Strengths and weaknesses of each language
Effect of legacy and the culture of the organization
Use existing solutions (system architecture, BA tools…Ϳ
Habits in business analytics
Different needs imply different tools
Large corporations + defined procedures  SAS-like
Less financial resources + quick proof of concept  R
More positive than negative points
SO WHY LEARN R?
Very appealing solution
SO WHY LEARN R?
Popularity of business analytics software (green = very popular, red = unpopular).
Over
all
Corpor
ate
Consulta
nts
Academ
ics
NGO/Go
v'tR SAS
IBM
SPSS
STATIST
ICA
Own
code
AGENDA
• History and evolution of R
• Principle and software
paradigm
• Description of R interface
• Advantages of R
• Drawbacks of R
• So why using R?• References for learning R
Many books available: choose the one that fits you!
Style, pedagogy, theory vs practice
Browse several books at local library or store
Springer’s UseR! Series
(http://www.springer.com/series/6991)
Recent, concise, good quality, affordable, diverse
Pure rookies: « A beginners’ guide to R », « R by example »
One step forward: « Business analytics for managers »
Intensive Excel users: « R through Excel »
O’Reilly R series ;for programmersͿ
« R cookbook », « R in a nuttshell »
Books
REFERENCES FOR LEARNING R
Websites
REFERENCES FOR LEARNING R
R official websites
The R project for statistical computing (www.r-project.org )
Mailing lists (« R-help », Special Interest Groups) and R journal
Official (austere) manuals (« An introduction to R »)
Other websites
UCLA online R resources http://www.ats.ucla.edu/stat/r/)
R blogs aggregator (www.r-bloggers.com)
Social networks: LinkedIn groups (The R project for statistical computing), Twitter accounts
(@RevolutionR, @inside_R), jobboards
Growing number of conferences about R Official International R UseR! conference
Annual during a few days in new venue (Google it!)
Lots of materials about many topics
Other conferences or venues
 Find (or even start!) a R user group close to your location (R Wiki geographical list, map
ofgroups on « meetup.com »)
 Events and news from R-bloggers blog
Conferences
REFERENCES FOR LEARNING R
Ad

More Related Content

What's hot (20)

R programming slides
R  programming slidesR  programming slides
R programming slides
Pankaj Saini
 
Introduction to R Programming
Introduction to R ProgrammingIntroduction to R Programming
Introduction to R Programming
izahn
 
R programming presentation
R programming presentationR programming presentation
R programming presentation
Akshat Sharma
 
Data analytics with R
Data analytics with RData analytics with R
Data analytics with R
Dr. C.V. Suresh Babu
 
Introduction to R and R Studio
Introduction to R and R StudioIntroduction to R and R Studio
Introduction to R and R Studio
Rupak Roy
 
Spss lecture notes
Spss lecture notesSpss lecture notes
Spss lecture notes
David mbwiga
 
Programming in R
Programming in RProgramming in R
Programming in R
Smruti Sarangi
 
R basics
R basicsR basics
R basics
FAO
 
Spss
SpssSpss
Spss
salemhusin
 
R data types
R data typesR data types
R data types
Teachers Mitraa
 
Pricipal Component Analysis Using R
Pricipal Component Analysis Using RPricipal Component Analysis Using R
Pricipal Component Analysis Using R
Karthi Keyan
 
2. R-basics, Vectors, Arrays, Matrices, Factors
2. R-basics, Vectors, Arrays, Matrices, Factors2. R-basics, Vectors, Arrays, Matrices, Factors
2. R-basics, Vectors, Arrays, Matrices, Factors
krishna singh
 
Introduction to R
Introduction to RIntroduction to R
Introduction to R
Ajay Ohri
 
How to get started with R programming
How to get started with R programmingHow to get started with R programming
How to get started with R programming
Ramon Salazar
 
3. R- list and data frame
3. R- list and data frame3. R- list and data frame
3. R- list and data frame
krishna singh
 
Linear Regression With R
Linear Regression With RLinear Regression With R
Linear Regression With R
Edureka!
 
SPSS How to use Spss software
SPSS How to use Spss softwareSPSS How to use Spss software
SPSS How to use Spss software
Debashis Baidya
 
(Manual spss)
(Manual spss)(Manual spss)
(Manual spss)
Enas Ahmed
 
Data analytics using R programming
Data analytics using R programmingData analytics using R programming
Data analytics using R programming
Umang Singh
 
Data visualization in Python
Data visualization in PythonData visualization in Python
Data visualization in Python
Marc Garcia
 
R programming slides
R  programming slidesR  programming slides
R programming slides
Pankaj Saini
 
Introduction to R Programming
Introduction to R ProgrammingIntroduction to R Programming
Introduction to R Programming
izahn
 
R programming presentation
R programming presentationR programming presentation
R programming presentation
Akshat Sharma
 
Introduction to R and R Studio
Introduction to R and R StudioIntroduction to R and R Studio
Introduction to R and R Studio
Rupak Roy
 
Spss lecture notes
Spss lecture notesSpss lecture notes
Spss lecture notes
David mbwiga
 
R basics
R basicsR basics
R basics
FAO
 
Pricipal Component Analysis Using R
Pricipal Component Analysis Using RPricipal Component Analysis Using R
Pricipal Component Analysis Using R
Karthi Keyan
 
2. R-basics, Vectors, Arrays, Matrices, Factors
2. R-basics, Vectors, Arrays, Matrices, Factors2. R-basics, Vectors, Arrays, Matrices, Factors
2. R-basics, Vectors, Arrays, Matrices, Factors
krishna singh
 
Introduction to R
Introduction to RIntroduction to R
Introduction to R
Ajay Ohri
 
How to get started with R programming
How to get started with R programmingHow to get started with R programming
How to get started with R programming
Ramon Salazar
 
3. R- list and data frame
3. R- list and data frame3. R- list and data frame
3. R- list and data frame
krishna singh
 
Linear Regression With R
Linear Regression With RLinear Regression With R
Linear Regression With R
Edureka!
 
SPSS How to use Spss software
SPSS How to use Spss softwareSPSS How to use Spss software
SPSS How to use Spss software
Debashis Baidya
 
Data analytics using R programming
Data analytics using R programmingData analytics using R programming
Data analytics using R programming
Umang Singh
 
Data visualization in Python
Data visualization in PythonData visualization in Python
Data visualization in Python
Marc Garcia
 

Similar to R programming (20)

R as supporting tool for analytics and simulation
R as supporting tool for analytics and simulationR as supporting tool for analytics and simulation
R as supporting tool for analytics and simulation
Alvaro Gil
 
Introduction to R Programming
Introduction to R ProgrammingIntroduction to R Programming
Introduction to R Programming
hemasri56
 
R programming language
R programming languageR programming language
R programming language
Keerti Verma
 
BUSINESS ANALYTICS WITH R SOFTWARE DIAST
BUSINESS ANALYTICS WITH R SOFTWARE DIASTBUSINESS ANALYTICS WITH R SOFTWARE DIAST
BUSINESS ANALYTICS WITH R SOFTWARE DIAST
HaritikaChhatwal1
 
Reason To learn & use r
Reason To learn & use rReason To learn & use r
Reason To learn & use r
Septian Pratama Rusmana
 
Introduction to R and Installation.pptx
Introduction  to R and Installation.pptxIntroduction  to R and Installation.pptx
Introduction to R and Installation.pptx
Dhanshyam Mahavadi
 
High Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and HadoopHigh Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and Hadoop
Revolution Analytics
 
R Programming and Lab - Unit I PPTX with examples
R Programming and Lab - Unit I PPTX with examplesR Programming and Lab - Unit I PPTX with examples
R Programming and Lab - Unit I PPTX with examples
SARAVANA KUMAR SS
 
R presentation
R presentationR presentation
R presentation
ShwetDadhaniya1
 
Introtor
IntrotorIntrotor
Introtor
Kamakshaiah M
 
R program
R programR program
R program
genegeek
 
R crash course
R crash courseR crash course
R crash course
Tomislav Hengl
 
An introduction to R is a document useful
An introduction to R is a document usefulAn introduction to R is a document useful
An introduction to R is a document useful
ssuser3c3f88
 
Introduction to R for Learning Analytics Researchers
Introduction to R for Learning Analytics ResearchersIntroduction to R for Learning Analytics Researchers
Introduction to R for Learning Analytics Researchers
Vitomir Kovanovic
 
a_very_brief_introduction_to_r.pdfhshkdjdn
a_very_brief_introduction_to_r.pdfhshkdjdna_very_brief_introduction_to_r.pdfhshkdjdn
a_very_brief_introduction_to_r.pdfhshkdjdn
xxgames812
 
Data Science - Part II - Working with R & R studio
Data Science - Part II -  Working with R & R studioData Science - Part II -  Working with R & R studio
Data Science - Part II - Working with R & R studio
Derek Kane
 
Analytics Beyond RAM Capacity using R
Analytics Beyond RAM Capacity using RAnalytics Beyond RAM Capacity using R
Analytics Beyond RAM Capacity using R
Alex Palamides
 
Business Analytics with R
Business Analytics with RBusiness Analytics with R
Business Analytics with R
Edureka!
 
Unit1_Introduction to R.pdf
Unit1_Introduction to R.pdfUnit1_Introduction to R.pdf
Unit1_Introduction to R.pdf
MDDidarulAlam15
 
R meet up slides.pptx
R meet up slides.pptxR meet up slides.pptx
R meet up slides.pptx
Corey Sparks
 
R as supporting tool for analytics and simulation
R as supporting tool for analytics and simulationR as supporting tool for analytics and simulation
R as supporting tool for analytics and simulation
Alvaro Gil
 
Introduction to R Programming
Introduction to R ProgrammingIntroduction to R Programming
Introduction to R Programming
hemasri56
 
R programming language
R programming languageR programming language
R programming language
Keerti Verma
 
BUSINESS ANALYTICS WITH R SOFTWARE DIAST
BUSINESS ANALYTICS WITH R SOFTWARE DIASTBUSINESS ANALYTICS WITH R SOFTWARE DIAST
BUSINESS ANALYTICS WITH R SOFTWARE DIAST
HaritikaChhatwal1
 
Introduction to R and Installation.pptx
Introduction  to R and Installation.pptxIntroduction  to R and Installation.pptx
Introduction to R and Installation.pptx
Dhanshyam Mahavadi
 
High Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and HadoopHigh Performance Predictive Analytics in R and Hadoop
High Performance Predictive Analytics in R and Hadoop
Revolution Analytics
 
R Programming and Lab - Unit I PPTX with examples
R Programming and Lab - Unit I PPTX with examplesR Programming and Lab - Unit I PPTX with examples
R Programming and Lab - Unit I PPTX with examples
SARAVANA KUMAR SS
 
An introduction to R is a document useful
An introduction to R is a document usefulAn introduction to R is a document useful
An introduction to R is a document useful
ssuser3c3f88
 
Introduction to R for Learning Analytics Researchers
Introduction to R for Learning Analytics ResearchersIntroduction to R for Learning Analytics Researchers
Introduction to R for Learning Analytics Researchers
Vitomir Kovanovic
 
a_very_brief_introduction_to_r.pdfhshkdjdn
a_very_brief_introduction_to_r.pdfhshkdjdna_very_brief_introduction_to_r.pdfhshkdjdn
a_very_brief_introduction_to_r.pdfhshkdjdn
xxgames812
 
Data Science - Part II - Working with R & R studio
Data Science - Part II -  Working with R & R studioData Science - Part II -  Working with R & R studio
Data Science - Part II - Working with R & R studio
Derek Kane
 
Analytics Beyond RAM Capacity using R
Analytics Beyond RAM Capacity using RAnalytics Beyond RAM Capacity using R
Analytics Beyond RAM Capacity using R
Alex Palamides
 
Business Analytics with R
Business Analytics with RBusiness Analytics with R
Business Analytics with R
Edureka!
 
Unit1_Introduction to R.pdf
Unit1_Introduction to R.pdfUnit1_Introduction to R.pdf
Unit1_Introduction to R.pdf
MDDidarulAlam15
 
R meet up slides.pptx
R meet up slides.pptxR meet up slides.pptx
R meet up slides.pptx
Corey Sparks
 
Ad

More from TIB Academy (18)

AWS Training Institute in Bangalore | Best AWS Course In Bangalore
AWS Training Institute in Bangalore | Best AWS Course In BangaloreAWS Training Institute in Bangalore | Best AWS Course In Bangalore
AWS Training Institute in Bangalore | Best AWS Course In Bangalore
TIB Academy
 
MySQL training in Bangalore | Best MySQL Course in Bangalore
MySQL training in Bangalore | Best MySQL Course in BangaloreMySQL training in Bangalore | Best MySQL Course in Bangalore
MySQL training in Bangalore | Best MySQL Course in Bangalore
TIB Academy
 
CCNA Training in Bangalore | Best Networking course in Bangalore
CCNA Training in Bangalore | Best Networking course in BangaloreCCNA Training in Bangalore | Best Networking course in Bangalore
CCNA Training in Bangalore | Best Networking course in Bangalore
TIB Academy
 
Core Java Training in Bangalore | Best Core Java Class in Bangalore
Core Java Training in Bangalore | Best Core Java Class in BangaloreCore Java Training in Bangalore | Best Core Java Class in Bangalore
Core Java Training in Bangalore | Best Core Java Class in Bangalore
TIB Academy
 
Advance Java Training in Bangalore | Best Java Training Institute
Advance Java Training in Bangalore | Best Java Training Institute Advance Java Training in Bangalore | Best Java Training Institute
Advance Java Training in Bangalore | Best Java Training Institute
TIB Academy
 
Best Hadoop Training in Bangalore - TIB Academy
Best Hadoop Training in Bangalore - TIB AcademyBest Hadoop Training in Bangalore - TIB Academy
Best Hadoop Training in Bangalore - TIB Academy
TIB Academy
 
Selenium training for beginners
Selenium training for beginnersSelenium training for beginners
Selenium training for beginners
TIB Academy
 
Python Training
Python TrainingPython Training
Python Training
TIB Academy
 
TIB Academy provides best Oracal DBA classes in Bangalore
TIB Academy provides best Oracal DBA classes in BangaloreTIB Academy provides best Oracal DBA classes in Bangalore
TIB Academy provides best Oracal DBA classes in Bangalore
TIB Academy
 
java tutorial for beginner - Free Download
java tutorial for beginner - Free Downloadjava tutorial for beginner - Free Download
java tutorial for beginner - Free Download
TIB Academy
 
Aws tutorial for beginners- tibacademy.in
Aws tutorial for beginners- tibacademy.inAws tutorial for beginners- tibacademy.in
Aws tutorial for beginners- tibacademy.in
TIB Academy
 
C C++ tutorial for beginners- tibacademy.in
C C++ tutorial for beginners- tibacademy.inC C++ tutorial for beginners- tibacademy.in
C C++ tutorial for beginners- tibacademy.in
TIB Academy
 
Java tutorial for beginners-tibacademy.in
Java tutorial for beginners-tibacademy.inJava tutorial for beginners-tibacademy.in
Java tutorial for beginners-tibacademy.in
TIB Academy
 
Android tutorial for beginners-traininginbangalore.com
Android tutorial for beginners-traininginbangalore.comAndroid tutorial for beginners-traininginbangalore.com
Android tutorial for beginners-traininginbangalore.com
TIB Academy
 
Hadoop tutorial for beginners-tibacademy.in
Hadoop tutorial for beginners-tibacademy.inHadoop tutorial for beginners-tibacademy.in
Hadoop tutorial for beginners-tibacademy.in
TIB Academy
 
SoapUI Training in Bangalore
SoapUI Training in BangaloreSoapUI Training in Bangalore
SoapUI Training in Bangalore
TIB Academy
 
Spring-training-in-bangalore
Spring-training-in-bangaloreSpring-training-in-bangalore
Spring-training-in-bangalore
TIB Academy
 
Salesforce Certification
Salesforce CertificationSalesforce Certification
Salesforce Certification
TIB Academy
 
AWS Training Institute in Bangalore | Best AWS Course In Bangalore
AWS Training Institute in Bangalore | Best AWS Course In BangaloreAWS Training Institute in Bangalore | Best AWS Course In Bangalore
AWS Training Institute in Bangalore | Best AWS Course In Bangalore
TIB Academy
 
MySQL training in Bangalore | Best MySQL Course in Bangalore
MySQL training in Bangalore | Best MySQL Course in BangaloreMySQL training in Bangalore | Best MySQL Course in Bangalore
MySQL training in Bangalore | Best MySQL Course in Bangalore
TIB Academy
 
CCNA Training in Bangalore | Best Networking course in Bangalore
CCNA Training in Bangalore | Best Networking course in BangaloreCCNA Training in Bangalore | Best Networking course in Bangalore
CCNA Training in Bangalore | Best Networking course in Bangalore
TIB Academy
 
Core Java Training in Bangalore | Best Core Java Class in Bangalore
Core Java Training in Bangalore | Best Core Java Class in BangaloreCore Java Training in Bangalore | Best Core Java Class in Bangalore
Core Java Training in Bangalore | Best Core Java Class in Bangalore
TIB Academy
 
Advance Java Training in Bangalore | Best Java Training Institute
Advance Java Training in Bangalore | Best Java Training Institute Advance Java Training in Bangalore | Best Java Training Institute
Advance Java Training in Bangalore | Best Java Training Institute
TIB Academy
 
Best Hadoop Training in Bangalore - TIB Academy
Best Hadoop Training in Bangalore - TIB AcademyBest Hadoop Training in Bangalore - TIB Academy
Best Hadoop Training in Bangalore - TIB Academy
TIB Academy
 
Selenium training for beginners
Selenium training for beginnersSelenium training for beginners
Selenium training for beginners
TIB Academy
 
TIB Academy provides best Oracal DBA classes in Bangalore
TIB Academy provides best Oracal DBA classes in BangaloreTIB Academy provides best Oracal DBA classes in Bangalore
TIB Academy provides best Oracal DBA classes in Bangalore
TIB Academy
 
java tutorial for beginner - Free Download
java tutorial for beginner - Free Downloadjava tutorial for beginner - Free Download
java tutorial for beginner - Free Download
TIB Academy
 
Aws tutorial for beginners- tibacademy.in
Aws tutorial for beginners- tibacademy.inAws tutorial for beginners- tibacademy.in
Aws tutorial for beginners- tibacademy.in
TIB Academy
 
C C++ tutorial for beginners- tibacademy.in
C C++ tutorial for beginners- tibacademy.inC C++ tutorial for beginners- tibacademy.in
C C++ tutorial for beginners- tibacademy.in
TIB Academy
 
Java tutorial for beginners-tibacademy.in
Java tutorial for beginners-tibacademy.inJava tutorial for beginners-tibacademy.in
Java tutorial for beginners-tibacademy.in
TIB Academy
 
Android tutorial for beginners-traininginbangalore.com
Android tutorial for beginners-traininginbangalore.comAndroid tutorial for beginners-traininginbangalore.com
Android tutorial for beginners-traininginbangalore.com
TIB Academy
 
Hadoop tutorial for beginners-tibacademy.in
Hadoop tutorial for beginners-tibacademy.inHadoop tutorial for beginners-tibacademy.in
Hadoop tutorial for beginners-tibacademy.in
TIB Academy
 
SoapUI Training in Bangalore
SoapUI Training in BangaloreSoapUI Training in Bangalore
SoapUI Training in Bangalore
TIB Academy
 
Spring-training-in-bangalore
Spring-training-in-bangaloreSpring-training-in-bangalore
Spring-training-in-bangalore
TIB Academy
 
Salesforce Certification
Salesforce CertificationSalesforce Certification
Salesforce Certification
TIB Academy
 
Ad

Recently uploaded (20)

YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
Quality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdfQuality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdf
Dr. Bindiya Chauhan
 
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulsepulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
sushreesangita003
 
LDMMIA Reiki Master Spring 2025 Mini Updates
LDMMIA Reiki Master Spring 2025 Mini UpdatesLDMMIA Reiki Master Spring 2025 Mini Updates
LDMMIA Reiki Master Spring 2025 Mini Updates
LDM Mia eStudios
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public SchoolsK12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
dogden2
 
SPRING FESTIVITIES - UK AND USA -
SPRING FESTIVITIES - UK AND USA            -SPRING FESTIVITIES - UK AND USA            -
SPRING FESTIVITIES - UK AND USA -
Colégio Santa Teresinha
 
Sinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_NameSinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_Name
keshanf79
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 4-30-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 4-30-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 4-30-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 4-30-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - WorksheetCBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
Sritoma Majumder
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
larencebapu132
 
Metamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative JourneyMetamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative Journey
Arshad Shaikh
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdfExploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Sandeep Swamy
 
How to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odooHow to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odoo
Celine George
 
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Library Association of Ireland
 
Quality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdfQuality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdf
Dr. Bindiya Chauhan
 
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulsepulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
sushreesangita003
 
LDMMIA Reiki Master Spring 2025 Mini Updates
LDMMIA Reiki Master Spring 2025 Mini UpdatesLDMMIA Reiki Master Spring 2025 Mini Updates
LDMMIA Reiki Master Spring 2025 Mini Updates
LDM Mia eStudios
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public SchoolsK12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
dogden2
 
Sinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_NameSinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_Name
keshanf79
 
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - WorksheetCBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
Sritoma Majumder
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
World war-1(Causes & impacts at a glance) PPT by Simanchala Sarab(BABed,sem-4...
larencebapu132
 
Metamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative JourneyMetamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative Journey
Arshad Shaikh
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdfExploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Sandeep Swamy
 
How to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odooHow to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odoo
Celine George
 
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Library Association of Ireland
 

R programming

  • 2. AGENDA • History and evolution of R • Principle and software paradigm • Description of R interface • Advantages of R • Drawbacks of R • So why use R? • References for learning R
  • 4. R has developed from the S language HISTORY AND EVOLUTION OF R S Version 1 S Version 2 S Version 3 S Version 4 Developed 30 years ago for research applied to the high-tech industry
  • 5. 99 ’s:ϭ Ϭ R developed concurrently with S 1993: R made public The regular development of R HISTORY AND EVOLUTION OF R Acceleration of R development R-Help and R-Devl mailing-lists Creation of the R Core Group Source: R Journal Vol 1/2
  • 6. Growing number of packages HISTORY AND EVOLUTION OF R 2001: ~100 packages 2009: Over 2000 packages Source: R Journal Vol 1/2 2000: R version 1.0.1 Today: R version 2.14
  • 7. Explosion of R popularity in the last decade HISTORY AND EVOLUTION OF R  Object-oriented, growing user base, scripting features  Free and open-source  Irrational reasons: R seen as « cool »
  • 8. Comparison of Mailing Lists HISTORY AND EVOLUTION OF R
  • 9. Popularity amongst programming languages HISTORY AND EVOLUTION OF R
  • 10. Number of Blogs HISTORY AND EVOLUTION OF R Data as on Mar 2012 Software Number of Blogs R 365 SAS 40 Stata 8 Others 0-3
  • 11. AGENDA • History and evolution of R• Principle and software paradigm • Description of R interface • Advantages of R • Drawbacks of R • So why using R? • References for learning R
  • 12.  R is rather a programming language  Limited user-friendly interfaces for data analysis  Is object oriented and almost non declarative  Similar to programming languages like Fortran, C, Java, Python R is not really a (statistical) software PRINCIPLE AND SOFTWARE PARADIGM
  • 13. Recent endeavours to enhance R user- friendliness Several GUIs in development R-commander RKWard Rattle R has limited Graphical User Interface (GUI) options PRINCIPLE AND SOFTWARE PARADIGM
  • 14. R Commander (RCmdr) PRINCIPLE AND SOFTWARE PARADIGM
  • 17. Inherent limitations of pervasive Excel-like spreadsheets PRINCIPLE AND SOFTWARE PARADIGM VS.
  • 18. Sophisticated but costly SAS PRINCIPLE AND SOFTWARE PARADIGM VS.
  • 19. AGENDA • History and evolution of R • Principle and software paradigm• Description of R interface • Advantages of R • Drawbacks of R • So why using R? • References for learning R
  • 20. R console DESCRIPTION OF R INTERFACE R desktop shortcut RGui: R basic interface R command line (space to write instructions)
  • 21. Using the command line in R console DESCRIPTION OF R INTERFACE First false sentence followed by R’s error message Second correct sentence Declaration and printing of the sentence as a R object Simple math computations Basic information about the R object containing the sentence
  • 22. RGui menu: File tab DESCRIPTION OF R INTERFACE File tab: Usual basic and general operations
  • 23. RGui menu: Edit tab DESCRIPTION OF R INTERFACE Edit tab: basic and general editing Results of the data editor Data editor: entering the oďjeĐt’s name
  • 24. RGui menu: View tab DESCRIPTION OF R INTERFACE View tab: viewing Toolbar and/or Status bar
  • 25. RGui menu: Misc tab DESCRIPTION OF R INTERFACE Misc tab: diverse operation s
  • 26. RGui menu: Packages tabs DESCRIPTION OF R INTERFACE Packages tab: adding functions to R foundation
  • 27. RGui menu: Windows tab DESCRIPTION OF R INTERFACE Windows tab: usual options to arrange the tiles
  • 28. RGui menu: Help tab DESCRIPTION OF R INTERFACE Help tab: very important links to help
  • 29. AGENDA • History and evolution of R • Principle and software paradigm • Description of R interface• Advantages of R • Drawbacks of R • So why using R? • References for learning R
  • 30.  Open source code  You can access the code of the software  In-depth understanding of what R does  Modify the code ADVANTAGES OF R Adress of the « mgcv » package Link with Package sources (.tar.gz file) Screenshot of the CRAN webpage of the « mgcv » package. Source: CRAN
  • 31. R access to source code ADVANTAGES OF R Screenshot of unzipping the « mgcv » package and browsing through the package’s files. Unzipping mgcv_1.7- 13.tar.gzfile (with 7zip) List of directories in the « mgcv » package List of functions (i.e open code) in the « src » (i.e code sources) directory the « mgcv » package1 2 3
  • 32. R is free ADVANTAGES OF R Software Academics Demo Commercial (basic) Commercial (full) R Free Free Free Free SAS Free to $100s Not available $1 000s $10 000s Statistica $100s 30 days limit ~$1 000 $10 000 Excel (Microsoft) Free to $10s Limited ~$100 $100s SPSS (IBM) $100s 14 days limit ~$2 000 $1 000s
  • 33. Interface with other languages and scripting capabilities ADVANTAGES OF R Interfaces with virtually any other programming language Fortran, C, C++, Python… Tailor or rewrite your old codes in R R as a scripting language R scripts can launch or be launched by other languages « mgcv.c » file in the « mgcv » package coded in typical C programming language Screenshot of the file « mgcv.c » of the « mgcv » package open in WordPad
  • 37.  R ~ tool used by the finest researchers  Top-notch analytics capabilities R role in academia ADVANTAGES OF R
  • 38. Free open source philosophy To summarize ADVANTAGES OF R  R websites with many examples  Free books  Free online open courses  Twitter accounts Online help and discussion  Mailing-lists  Very active and diverse forums  Communities of developers and helpers
  • 39. AGENDA • History and evolution of R • Principle and software paradigm • Description of R interface • Advantages of R• Drawbacks of R • So why using R? • References for learning R
  • 40. Poor management of large datasets Avoid imbricated loops Prefer R advanced language for data structure Complicated structure of packages in R  Dozen of packages  To be loaded every time in memory R packages to better manage memory  Rhadoop (inspiration from Google)  Ff  bigmemory Average memory performance DRAWBACKS OF R
  • 41. No default parallel execution R packages to use several cores Top skills needed for high performance computing A high-level programming language Abstract and modern (Python…Ϳ More productive coding But further from « machine language »… … meaning 100 times slower than C Average computing performance DRAWBACKS OF R
  • 42. Difficult to inspect data sets Difficult data visualization and management DRAWBACKS OF R
  • 43. Problems for large organizations R made of several thousands independent packages No deployment plan for complex organizations No installation support Lack of code accountability Thousands of individual independent R developers Nobody responsible for the quality of the code Potentially high hidden costs with R  Total cost may favour commercial solutions for complex computations made in large corporations Difficult architecture management DRAWBACKS OF R
  • 44. Steep learning curve R code far from undergrad computer science courses Very complex data structures (useful if mastered) Is R’s syntax not logical? Relatively difficult to learn DRAWBACKS OF R Still, not more difficult to learn than SAS   Both SAS and R more abstract than basic programming languages (Fortran, C… Ϳ Difficult to learn = more rewarding professionally!!
  • 45. AGENDA • History and evolution of R • Principle and software paradigm • Description of R interface • Advantages of R • Drawbacks of R• So why use R? • References for learning R
  • 46. No language is perfect!! Contradictory objectives to meet Strengths and weaknesses of each language Effect of legacy and the culture of the organization Use existing solutions (system architecture, BA tools…Ϳ Habits in business analytics Different needs imply different tools Large corporations + defined procedures  SAS-like Less financial resources + quick proof of concept  R More positive than negative points SO WHY LEARN R?
  • 47. Very appealing solution SO WHY LEARN R? Popularity of business analytics software (green = very popular, red = unpopular). Over all Corpor ate Consulta nts Academ ics NGO/Go v'tR SAS IBM SPSS STATIST ICA Own code
  • 48. AGENDA • History and evolution of R • Principle and software paradigm • Description of R interface • Advantages of R • Drawbacks of R • So why using R?• References for learning R
  • 49. Many books available: choose the one that fits you! Style, pedagogy, theory vs practice Browse several books at local library or store Springer’s UseR! Series (http://www.springer.com/series/6991) Recent, concise, good quality, affordable, diverse Pure rookies: « A beginners’ guide to R », « R by example » One step forward: « Business analytics for managers » Intensive Excel users: « R through Excel » O’Reilly R series ;for programmersͿ « R cookbook », « R in a nuttshell » Books REFERENCES FOR LEARNING R
  • 50. Websites REFERENCES FOR LEARNING R R official websites The R project for statistical computing (www.r-project.org ) Mailing lists (« R-help », Special Interest Groups) and R journal Official (austere) manuals (« An introduction to R ») Other websites UCLA online R resources http://www.ats.ucla.edu/stat/r/) R blogs aggregator (www.r-bloggers.com) Social networks: LinkedIn groups (The R project for statistical computing), Twitter accounts (@RevolutionR, @inside_R), jobboards
  • 51. Growing number of conferences about R Official International R UseR! conference Annual during a few days in new venue (Google it!) Lots of materials about many topics Other conferences or venues  Find (or even start!) a R user group close to your location (R Wiki geographical list, map ofgroups on « meetup.com »)  Events and news from R-bloggers blog Conferences REFERENCES FOR LEARNING R