SlideShare a Scribd company logo
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
R programming language: conceptual
overview
Maxim Litvak
2016-06-10
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Outline
1 Introduction
2 Statistical computing
3 Functional programming
4 Dynamic
5 OOP
6 Statistical computing - revision I
7 Statistical computing - revision II
8 Statistical computing - revision III
9 Statistical computing - revision IV
10 Appendix
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
R description
R is a dynamic language for statistical computing
that combines lazy functional features and
object-oriented programming.
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
R Properties
Properties:
ˆ Dynamic
ˆ Statistical computing
ˆ Lazy functional
ˆ OOP
. . . R users usually focus on statistical computing,
however, understanding the rest is crucial to boost
productivity.
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Statistical computing
ˆ You already know how it works :-)
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Functional - Basics I
ˆ Functional programming (FP) is a paradigm that
prescribes to break down the task into evaluation of
(mathematical) functions
ˆ FP is not about organizing code in subroutines (also
called functions but in dierent sense)! (this is
called procedural programming)
ˆ It's about organizing the whole programm as
function
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Functional - Basics II
ˆ Functions as rst-class objects
ˆ can be passed as an argument
ˆ returned from a function
ˆ assigned to a variable
ˆ Think of examples to the points above!
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Functional - Scoping
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Functional - Lazy
ˆ lazy (or call-by-need) means evaluation is delayed
until value is needed
ˆ What do you think will the following piece of code
work?
 f - function(){g()}
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Functional - Lazy
ˆ It's valid even though we use function g() which
isn't dened
ˆ We kind of promise that it's gonna be dened to
the time than f is called
ˆ . . . but if we don't keep our promise
 f()
Error in f() : could not find function g
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Functional - Lazy
ˆ Now, let's dene the function g() before calling the
function f()
 g - function() 0 # now g() is defined
 f()
[1] 0
ˆ Now it works
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Function - Referential
transparency I
ˆ Referential transparency - if an expression can be
replaced with its value without changing the
behaviour of the program (side eect)
ˆ In R it's up to the developer, she/he should be
however conscious if their code produce side eects
ˆ Assume function g returns 0 and function f returns
the only argument (f - function(x) x). Is there a
dierence between
ˆ f(0)
ˆ f(g())
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Function - Referential
transparency IIa
ˆ Which of the following 2 cases are referential
transparent?
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Function - Referential
transparency IIb
ˆ (cont.)
ˆ I
 executed - FALSE
 g - function(){
executed - TRUE
return(0)
}
 f(g())
ˆ II
 executed - TRUE
 g - function(){
executed - FALSE
return(0)
}
 f(g())
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Dynamic: Typing - I
ˆ Types are optional and could be changed
Code
 var - FALSE
 class(var)
[1] logical
 var
[1] FALSE
 var[3] - 1
 class(var)
numeric
 var
[1] 0 NA 1
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Dynamic: Typing - II
ˆ What do you think would be the type of var
variable after the following action?
 var - !
 var[3] - 1
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Dynamic: Typing - III
ˆ Types are implicitly there (assigned by compiler)
ˆ Types could be changed (implicitly by compiler)
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Dynamic: Evaluation
(Language abstraction)
ˆ With eval you can dynamically evaluate code, e.g.
 eval(parse=text(f - function(x) x))
ˆ It allows to have more freedom in code manipulation
(example will follow), beware performance!
ˆ R allows to abstract the language itself
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
OOP - Basics
ˆ Object-oriented programming is a paradigm in
programming that prescribes to break down the task
into objects with particular behaviour and data.
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
OOP in R
ˆ Competing OOP standards in R: S3 (old), S4
(newer), reference classes, special libraries (R6,
proto)
ˆ xkcd:
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
OOP in R: S4
ˆ Assume an object of class Company has 2
properties: headcount (HC) and earnings (EBIT)
ˆ if you add (i.e. merge) 2 companies, then you add
up their earnings +20% (synergy eects) and add
up their headcount -20% (economies of scale)
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
OOP in R: S4
ˆ Solution
 setClass(Company
, representation(HC = numeric
, EBIT = numeric)
)
 setMethod(+
, signature(Company, Company)
, function(e1, e2){
new(Company
, HC = (e1@HC + e2@HC)*0.8
, EBIT = (e1@EBIT + e2@EBIT)*1.2
)
})
 Microsoft - new(Company
, HC = 50, EBIT = 95)
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
OOP in R: S4
ˆ Result
 Microsoft + LinkedIn
An object of class Company
Slot HC:
[1] 41.6
Slot EBIT:
[1] 120
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Comparison to other
languages
ˆ Python
class Company():
def __init__(self, HC, EBIT):
self.HC = HC
self.EBIT = EBIT
def __add__(self, other):
return Company((self.HC+other.HC)*0.8
,(self.EBIT + other.EBIT)*1.2)
def __repr__(self):
out=HC:%s,EBIT:%s%(self.HC,self.EBIT)
return out
 Microsoft = Company(50, 95)
 LinkedIn = Company(2, 5)
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Comparison to other
languages
class Company
{
private double HC;
private double EBIT;
public Company(double HC, double EBIT)
{this.HC = HC;this.EBIT = EBIT;}
public static operator +(Company A
, Company B)
{
double HC = (A.HC + B.HC)*0.8;
double EBIT = (A.EBIT + B.EBIT)*1.2;
return new Company(HC, EBIT)
}
}
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Statistical computing -
revision
ˆ Example: given X (e.g. norm) distribution
ˆ pX is its probability function
ˆ dX is its density function
ˆ qX is its quantile function
ˆ How to abstract X?
ˆ Construct a function that takes name of the
distribution with 2 parameters as an argument (e.g.
norm, unif) and returns its quantile function
parametrized with [0;1] (hint: use eval)
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Possible solution
ˆ 1-st step: how could it look for a particular function
eval(parse(text=function(x) qnorm(x,0,1)))
ˆ 2-nd step: separate distribution parameter
eval(
parse(
text=paste0(
function(x) q,norm,(x,0,1)
)
)
)
function (x)
qnorm(x, 0, 1)
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Possible solution (cont.)
ˆ 3-rd step: abstract distribution as an argument and
return as function
F - function(dist){
eval(parse(
text=paste0(
function(x) q, dist ,(x,0,1)
)
))
}
ˆ Now you can get quantiles for dierent distributions
ˆ Log-normal
 F(lnorm)(0.5) 1
ˆ Uniform
 F(unif)(0.8) 0.8
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Last remark
ˆ Further it can be generalize to distributions with
dierent number of parameters and pass parameters
as an argument
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
References
ˆ Morandat, Floréal, et al. Evaluating the design of
the R language. ECOOP 2012Object-oriented
programming. Springer Berlin Heidelberg, 2012.
104-131.
R programming
language:
conceptual
overview
Maxim Litvak
Introduction
Statistical
computing
Functional
programming
Dynamic
OOP
Statistical
computing -
revision I
Statistical
computing -
revision II
Statistical
computing -
revision III
Statistical
computing -
revision IV
Appendix
Repository
ˆ You can nd the latest version of this presentation
here:
ˆ github.com/maxlit/workshops/tree/master/R/r-
advanced-overview

More Related Content

What's hot

R programming language
R programming languageR programming language
R programming language
Keerti Verma
 
R language
R languageR language
R language
Isra El Isa
 
RDataMining slides-r-programming
RDataMining slides-r-programmingRDataMining slides-r-programming
RDataMining slides-r-programming
Yanchang Zhao
 
R Programming
R ProgrammingR Programming
R Programming
Abhishek Pratap Singh
 
A short tutorial on r
A short tutorial on rA short tutorial on r
A short tutorial on r
Ashraf Uddin
 
R programming
R programmingR programming
R programming
TIB Academy
 
R programming
R programmingR programming
R programming
Nandhini G
 
LSESU a Taste of R Language Workshop
LSESU a Taste of R Language WorkshopLSESU a Taste of R Language Workshop
LSESU a Taste of R Language Workshop
Korkrid Akepanidtaworn
 
R programming
R programmingR programming
R programming
Dr. Vaibhav Kumar
 
Getting Started with R
Getting Started with RGetting Started with R
Getting Started with R
Sankhya_Analytics
 
R language tutorial
R language tutorialR language tutorial
R language tutorial
David Chiu
 
R-programming-training-in-mumbai
R-programming-training-in-mumbaiR-programming-training-in-mumbai
R-programming-training-in-mumbai
Unmesh Baile
 
1 R Tutorial Introduction
1 R Tutorial Introduction1 R Tutorial Introduction
1 R Tutorial Introduction
Sakthi Dasans
 
Programming Languages - Functional Programming Paper
Programming Languages - Functional Programming PaperProgramming Languages - Functional Programming Paper
Programming Languages - Functional Programming Paper
Shreya Chakrabarti
 
Inroduction to r
Inroduction to rInroduction to r
Inroduction to r
manikanta361
 
1.3 introduction to R language, importing dataset in r, data exploration in r
1.3 introduction to R language, importing dataset in r, data exploration in r1.3 introduction to R language, importing dataset in r, data exploration in r
1.3 introduction to R language, importing dataset in r, data exploration in r
Simple Research
 
Relational Calculus
Relational CalculusRelational Calculus
Relational Calculus
Dr. C.V. Suresh Babu
 
Lisp
LispLisp
LISP: Introduction to lisp
LISP: Introduction to lispLISP: Introduction to lisp
LISP: Introduction to lisp
DataminingTools Inc
 
Have you met Julia?
Have you met Julia?Have you met Julia?
Have you met Julia?
Tommaso Rigon
 

What's hot (20)

R programming language
R programming languageR programming language
R programming language
 
R language
R languageR language
R language
 
RDataMining slides-r-programming
RDataMining slides-r-programmingRDataMining slides-r-programming
RDataMining slides-r-programming
 
R Programming
R ProgrammingR Programming
R Programming
 
A short tutorial on r
A short tutorial on rA short tutorial on r
A short tutorial on r
 
R programming
R programmingR programming
R programming
 
R programming
R programmingR programming
R programming
 
LSESU a Taste of R Language Workshop
LSESU a Taste of R Language WorkshopLSESU a Taste of R Language Workshop
LSESU a Taste of R Language Workshop
 
R programming
R programmingR programming
R programming
 
Getting Started with R
Getting Started with RGetting Started with R
Getting Started with R
 
R language tutorial
R language tutorialR language tutorial
R language tutorial
 
R-programming-training-in-mumbai
R-programming-training-in-mumbaiR-programming-training-in-mumbai
R-programming-training-in-mumbai
 
1 R Tutorial Introduction
1 R Tutorial Introduction1 R Tutorial Introduction
1 R Tutorial Introduction
 
Programming Languages - Functional Programming Paper
Programming Languages - Functional Programming PaperProgramming Languages - Functional Programming Paper
Programming Languages - Functional Programming Paper
 
Inroduction to r
Inroduction to rInroduction to r
Inroduction to r
 
1.3 introduction to R language, importing dataset in r, data exploration in r
1.3 introduction to R language, importing dataset in r, data exploration in r1.3 introduction to R language, importing dataset in r, data exploration in r
1.3 introduction to R language, importing dataset in r, data exploration in r
 
Relational Calculus
Relational CalculusRelational Calculus
Relational Calculus
 
Lisp
LispLisp
Lisp
 
LISP: Introduction to lisp
LISP: Introduction to lispLISP: Introduction to lisp
LISP: Introduction to lisp
 
Have you met Julia?
Have you met Julia?Have you met Julia?
Have you met Julia?
 

Viewers also liked

R programming language
R programming languageR programming language
R programming language
Alberto Minetti
 
Introduction to R
Introduction to RIntroduction to R
Introduction to R
Kazuki Yoshida
 
A Brief History of Programming
A Brief History of ProgrammingA Brief History of Programming
A Brief History of Programming
jxyz
 
Why R? A Brief Introduction to the Open Source Statistics Platform
Why R? A Brief Introduction to the Open Source Statistics PlatformWhy R? A Brief Introduction to the Open Source Statistics Platform
Why R? A Brief Introduction to the Open Source Statistics Platform
Syracuse University
 
Evolution of Programming Languages
Evolution of Programming LanguagesEvolution of Programming Languages
Evolution of Programming Languages
Sayanee Basu
 
Bioinformatics
BioinformaticsBioinformatics
Bioinformatics
Nuno Barreto
 
Class ppt intro to r
Class ppt intro to rClass ppt intro to r
Class ppt intro to r
JigsawAcademy2014
 
Bioinformatics
BioinformaticsBioinformatics
Bioinformatics
biinoida
 
What Is Organic Farming
What Is Organic FarmingWhat Is Organic Farming
What Is Organic Farming
Profarms Consultants®™
 
Organic farming
Organic farmingOrganic farming
Organic farming
Clarizze Ramos
 
Operating Systems: Linux in Detail
Operating Systems: Linux in DetailOperating Systems: Linux in Detail
Operating Systems: Linux in Detail
Damian T. Gordon
 
An Interactive Introduction To R (Programming Language For Statistics)
An Interactive Introduction To R (Programming Language For Statistics)An Interactive Introduction To R (Programming Language For Statistics)
An Interactive Introduction To R (Programming Language For Statistics)
Dataspora
 

Viewers also liked (12)

R programming language
R programming languageR programming language
R programming language
 
Introduction to R
Introduction to RIntroduction to R
Introduction to R
 
A Brief History of Programming
A Brief History of ProgrammingA Brief History of Programming
A Brief History of Programming
 
Why R? A Brief Introduction to the Open Source Statistics Platform
Why R? A Brief Introduction to the Open Source Statistics PlatformWhy R? A Brief Introduction to the Open Source Statistics Platform
Why R? A Brief Introduction to the Open Source Statistics Platform
 
Evolution of Programming Languages
Evolution of Programming LanguagesEvolution of Programming Languages
Evolution of Programming Languages
 
Bioinformatics
BioinformaticsBioinformatics
Bioinformatics
 
Class ppt intro to r
Class ppt intro to rClass ppt intro to r
Class ppt intro to r
 
Bioinformatics
BioinformaticsBioinformatics
Bioinformatics
 
What Is Organic Farming
What Is Organic FarmingWhat Is Organic Farming
What Is Organic Farming
 
Organic farming
Organic farmingOrganic farming
Organic farming
 
Operating Systems: Linux in Detail
Operating Systems: Linux in DetailOperating Systems: Linux in Detail
Operating Systems: Linux in Detail
 
An Interactive Introduction To R (Programming Language For Statistics)
An Interactive Introduction To R (Programming Language For Statistics)An Interactive Introduction To R (Programming Language For Statistics)
An Interactive Introduction To R (Programming Language For Statistics)
 

Similar to R programming language: conceptual overview

Extending and customizing ibm spss statistics with python, r, and .net (2)
Extending and customizing ibm spss statistics with python, r, and .net (2)Extending and customizing ibm spss statistics with python, r, and .net (2)
Extending and customizing ibm spss statistics with python, r, and .net (2)
Armand Ruis
 
Functional Programming in R
Functional Programming in RFunctional Programming in R
Functional Programming in R
David Springate
 
Lecture_R.ppt
Lecture_R.pptLecture_R.ppt
Lecture_R.ppt
Abebe334138
 
Advance python programming
Advance python programming Advance python programming
Advance python programming
Jagdish Chavan
 
R ext world/ useR! Kiev
R ext world/ useR!  KievR ext world/ useR!  Kiev
R ext world/ useR! Kiev
Ruslan Shevchenko
 
2013.11.14 Big Data Workshop Adam Ralph - 2nd set of slides
2013.11.14 Big Data Workshop Adam Ralph - 2nd set of slides2013.11.14 Big Data Workshop Adam Ralph - 2nd set of slides
2013.11.14 Big Data Workshop Adam Ralph - 2nd set of slides
NUI Galway
 
R basics for MBA Students[1].pptx
R basics for MBA Students[1].pptxR basics for MBA Students[1].pptx
R basics for MBA Students[1].pptx
rajalakshmi5921
 
1_Introduction.pptx
1_Introduction.pptx1_Introduction.pptx
1_Introduction.pptx
ranapoonam1
 
Active reports Training Session
Active reports Training SessionActive reports Training Session
Active reports Training Session
Forziatech
 
Programming introduction
Programming introductionProgramming introduction
Programming introduction
Explore Skilled
 
FULL R PROGRAMMING METERIAL_2.pdf
FULL R PROGRAMMING METERIAL_2.pdfFULL R PROGRAMMING METERIAL_2.pdf
FULL R PROGRAMMING METERIAL_2.pdf
attalurilalitha
 
LINQ in Visual Studio 2008
LINQ in Visual Studio 2008LINQ in Visual Studio 2008
LINQ in Visual Studio 2008
ukdpe
 
Crash Course on R Shiny Package
Crash Course on R Shiny Package Crash Course on R Shiny Package
Crash Course on R Shiny Package
Rohit Dubey
 
Csc1100 lecture01 ch01 pt2-paradigm (1)
Csc1100 lecture01 ch01 pt2-paradigm (1)Csc1100 lecture01 ch01 pt2-paradigm (1)
Csc1100 lecture01 ch01 pt2-paradigm (1)
IIUM
 
Csc1100 lecture01 ch01 pt2-paradigm
Csc1100 lecture01 ch01 pt2-paradigmCsc1100 lecture01 ch01 pt2-paradigm
Csc1100 lecture01 ch01 pt2-paradigm
IIUM
 
Compiler gate question key
Compiler gate question keyCompiler gate question key
Compiler gate question key
ArthyR3
 
Urbanistic Equalization and Compensatory Mechanism - From Legislation to GIS
Urbanistic Equalization and Compensatory Mechanism - From Legislation to GISUrbanistic Equalization and Compensatory Mechanism - From Legislation to GIS
Urbanistic Equalization and Compensatory Mechanism - From Legislation to GIS
Rui Menezes
 
Programmability in spss statistics 17
Programmability in spss statistics 17Programmability in spss statistics 17
Programmability in spss statistics 17
Armand Ruis
 
PLC Programming Languages
PLC Programming LanguagesPLC Programming Languages
PLC Programming Languages
LIJU. G. CHACKO
 
Calling c functions from r programming unit 5
Calling c functions from r programming    unit 5Calling c functions from r programming    unit 5
Calling c functions from r programming unit 5
Ashwini Mathur
 

Similar to R programming language: conceptual overview (20)

Extending and customizing ibm spss statistics with python, r, and .net (2)
Extending and customizing ibm spss statistics with python, r, and .net (2)Extending and customizing ibm spss statistics with python, r, and .net (2)
Extending and customizing ibm spss statistics with python, r, and .net (2)
 
Functional Programming in R
Functional Programming in RFunctional Programming in R
Functional Programming in R
 
Lecture_R.ppt
Lecture_R.pptLecture_R.ppt
Lecture_R.ppt
 
Advance python programming
Advance python programming Advance python programming
Advance python programming
 
R ext world/ useR! Kiev
R ext world/ useR!  KievR ext world/ useR!  Kiev
R ext world/ useR! Kiev
 
2013.11.14 Big Data Workshop Adam Ralph - 2nd set of slides
2013.11.14 Big Data Workshop Adam Ralph - 2nd set of slides2013.11.14 Big Data Workshop Adam Ralph - 2nd set of slides
2013.11.14 Big Data Workshop Adam Ralph - 2nd set of slides
 
R basics for MBA Students[1].pptx
R basics for MBA Students[1].pptxR basics for MBA Students[1].pptx
R basics for MBA Students[1].pptx
 
1_Introduction.pptx
1_Introduction.pptx1_Introduction.pptx
1_Introduction.pptx
 
Active reports Training Session
Active reports Training SessionActive reports Training Session
Active reports Training Session
 
Programming introduction
Programming introductionProgramming introduction
Programming introduction
 
FULL R PROGRAMMING METERIAL_2.pdf
FULL R PROGRAMMING METERIAL_2.pdfFULL R PROGRAMMING METERIAL_2.pdf
FULL R PROGRAMMING METERIAL_2.pdf
 
LINQ in Visual Studio 2008
LINQ in Visual Studio 2008LINQ in Visual Studio 2008
LINQ in Visual Studio 2008
 
Crash Course on R Shiny Package
Crash Course on R Shiny Package Crash Course on R Shiny Package
Crash Course on R Shiny Package
 
Csc1100 lecture01 ch01 pt2-paradigm (1)
Csc1100 lecture01 ch01 pt2-paradigm (1)Csc1100 lecture01 ch01 pt2-paradigm (1)
Csc1100 lecture01 ch01 pt2-paradigm (1)
 
Csc1100 lecture01 ch01 pt2-paradigm
Csc1100 lecture01 ch01 pt2-paradigmCsc1100 lecture01 ch01 pt2-paradigm
Csc1100 lecture01 ch01 pt2-paradigm
 
Compiler gate question key
Compiler gate question keyCompiler gate question key
Compiler gate question key
 
Urbanistic Equalization and Compensatory Mechanism - From Legislation to GIS
Urbanistic Equalization and Compensatory Mechanism - From Legislation to GISUrbanistic Equalization and Compensatory Mechanism - From Legislation to GIS
Urbanistic Equalization and Compensatory Mechanism - From Legislation to GIS
 
Programmability in spss statistics 17
Programmability in spss statistics 17Programmability in spss statistics 17
Programmability in spss statistics 17
 
PLC Programming Languages
PLC Programming LanguagesPLC Programming Languages
PLC Programming Languages
 
Calling c functions from r programming unit 5
Calling c functions from r programming    unit 5Calling c functions from r programming    unit 5
Calling c functions from r programming unit 5
 

Recently uploaded

E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 

Recently uploaded (20)

E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 

R programming language: conceptual overview