SlideShare a Scribd company logo
Tutorial on “R” Programming
Language
Eric A. Suess, Bruce E. Trumbo,
and Carlo Cosenza
CSU East Bay, Department of Statistics
and Biostatistics
Outline
•
•
•
•
•
•
•
•

Communication with R
R software
R Interfaces
R code
Packages
Graphics
Parallel processing/distributed computing
Commerical R REvolutions
Communication with R
• In my opinion, the R/S language has become
the most common language for
communication in the fields of Statistics and
and Data Analysis.
• Books are being written now with R presented
directly placed within the text.
• SV use R, for example
• Excellent for teaching.
R Software
• To download R
• http://www.r-project.org/
• CRAN
• Manuals
• The R Journal
• Books
R Software
R Interfaces
•
•
•
•
•
•
•

RWinEdt
Tinn-R
JGR (Java Gui for R)
Emacs + ESS
Rattle
AKward
Playwith (for graphics)
R code
> 2+2
[1] 4
> 2+2^2
[1] 6
> (2+2)^2
[1] 16

> sqrt(2)
[1] 1.414214
> log(2)
[1] 0.6931472
>x=5
> y = 10
> z <- x+y
>z
[1] 15
R Code
> seq(1,5, by=.5)
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
> v1 = c(6,5,4,3,2,1)
> v1
[1] 6 5 4 3 2 1
> v2 = c(10,9,8,7,6,5)
>
> v3 = v1 + v2
> v3
[1] 16 14 12 10 8 6
R code
> max(v3);min(v3)
[1] 16
[1] 6
> length(v3)
[1] 6
> mean(v3)
[1] 11
> sd(v3)
[1] 3.741657
R code
> v4 = v3[v3>10]
> v4
[1] 16 14 12
> n = 1:10000; a = (1 + 1/n)^n
> cbind(n,a)[c(1:5,10^(1:4)),]
n
a
[1,] 1 2.000000
[2,] 2 2.250000
[3,] 3 2.370370
[4,] 4 2.441406
[5,] 5 2.488320
[6,] 10 2.593742
[7,] 100 2.704814
[8,] 1000 2.716924
[9,] 10000 2.718146
R code
# LLN
cummean = function(x){
n = length(x)
y = numeric(n)
z = c(1:n)
y = cumsum(x)
y = y/z
return(y)
}
n = 10000
z = rnorm(n)
x = seq(1,n,1)
y = cummean(z)
X11()
plot(x,y,type= 'l',main= 'Convergence Plot')
R code
# CLT
n = 30
k = 1000

# sample size
# number of samples

mu = 5; sigma = 2; SEM = sigma/sqrt(n)
x = matrix(rnorm(n*k,mu,sigma),n,k) # This gives a matrix with the samples
# down the columns.
x.mean = apply(x,2,mean)
x.down = mu - 4*SEM; x.up = mu + 4*SEM; y.up = 1.5
hist(x.mean,prob= T,xlim= c(x.down,x.up),ylim= c(0,y.up),main= 'Sampling
distribution of the sample mean, Normal case')
par(new= T)
x = seq(x.down,x.up,0.01)
y = dnorm(x,mu,SEM)
plot(x,y,type= 'l',xlim= c(x.down,x.up),ylim= c(0,y.up))
R code
# Birthday Problem
m = 100000; n = 25 # iterations; people in room
x = numeric(m)
# vector for numbers of matches
for (i in 1:m)
{
b = sample(1:365, n, repl=T) # n random birthdays in ith room
x[i] = n - length(unique(b)) # no. of matches in ith room
}
mean(x == 0); mean(x)
# approximates P{X=0}; E(X)
cutp = (0:(max(x)+1)) - .5
# break points for histogram
hist(x, breaks=cutp, prob=T) # relative freq. histogram
R help
• help.start() Take a look
– An Introduction to R
– R Data Import/Export
– Packages

• data()
• ls()
R code
Data Manipulation with R
(Use R)
Phil Spector
R Packages
• There are many
contributed packages that
can be used to extend R.
• These libraries are created
and maintained by the
authors.
R Package - simpleboot
mu = 25; sigma = 5; n = 30
x = rnorm(n, mu, sigma)
library(simpleboot)
reps = 10000
X11()
median.boot = one.boot(x, median, R = reps)
#print(median.boot)
boot.ci(median.boot)
hist(median.boot,main="median")
R Package – ggplot2
• The fundamental building block of a plot is
based on aesthetics and facets
• Aesthetics are graphical attributes that effect
how the data are displayed. Color, Size, Shape
• Facets are subdivisions of graphical data.
• The graph is realized by adding layers, geoms,
and statistics.
R Package – ggplot2
library(ggplot2)
oldFaithfulPlot = ggplot(faithful, aes(eruptions,waiting))
oldFaithfulPlot + layer(geom="point")
oldFaithfulPlot + layer(geom="point") + layer(geom="smooth")
R Package – ggplot2
Ggplot2: Elegant Graphics
for Data Analysis (Use R)
Hadley Wickham
R Package - BioC
• BioConductor is an open source and open
development software project for the analysis
and comprehension of genomic data.
• http://www.bioconductor.org
• Download > Software > Installation Instructions
source("http://bioconductor.org/biocLite.R")
biocLite()
R Package - affyPara
library(affyPara)
library(affydata)
data(Dilution)
Dilution
cl <- makeCluster(2, type='SOCK')
bgcorrect.methods()
affyBatchBGC <- bgCorrectPara(Dilution,
method="rma", verbose=TRUE)
R Package - snow
• Parallel processing has become more common
within R
• snow, multicore, foreach, etc.
R Package - snow
•

Birthday Problem simulation in parallel

cl <- makeCluster(4, type='SOCK')
birthday <- function(n) {
ntests <- 1000
pop <- 1:365
anydup <- function(i)
any(duplicated(
sample(pop, n,replace=TRUE)))
sum(sapply(seq(ntests), anydup)) / ntests}
x <- foreach(j=1:100) %dopar% birthday (j)
stopCluster(cl)
Ref: http://www.rinfinance.com/RinFinance2009/presentations/UIC-Lewis%204-25-09.pdf
REvolution Computing
• REvolution R is an enhanced distribution of R
• Optimized, validated and supported
• http://www.revolution-computing.com/

More Related Content

PPTX
R Programming Language
PPTX
R language tutorial
PDF
Data Analysis with R (combined slides)
PDF
Introduction to R
PPT
R programming slides
PDF
A short tutorial on r
PDF
R tutorial
PDF
RDataMining slides-r-programming
R Programming Language
R language tutorial
Data Analysis with R (combined slides)
Introduction to R
R programming slides
A short tutorial on r
R tutorial
RDataMining slides-r-programming

What's hot (19)

PPTX
R language
PPTX
R programming Fundamentals
PDF
R programming groundup-basic-section-i
PDF
Machine Learning in R
PDF
Introduction to Rstudio
PDF
R - the language
PPTX
LSESU a Taste of R Language Workshop
PPTX
Why R? A Brief Introduction to the Open Source Statistics Platform
PDF
R programming for data science
KEY
Presentation R basic teaching module
ODP
Introduction to the language R
PPT
R tutorial for a windows environment
PDF
The History and Use of R
PPTX
Workshop presentation hands on r programming
PDF
R programming & Machine Learning
PDF
Introduction to R - from Rstudio to ggplot
PDF
Introduction to Data Mining with R and Data Import/Export in R
PPT
R-programming-training-in-mumbai
PPTX
R programming language
R language
R programming Fundamentals
R programming groundup-basic-section-i
Machine Learning in R
Introduction to Rstudio
R - the language
LSESU a Taste of R Language Workshop
Why R? A Brief Introduction to the Open Source Statistics Platform
R programming for data science
Presentation R basic teaching module
Introduction to the language R
R tutorial for a windows environment
The History and Use of R
Workshop presentation hands on r programming
R programming & Machine Learning
Introduction to R - from Rstudio to ggplot
Introduction to Data Mining with R and Data Import/Export in R
R-programming-training-in-mumbai
R programming language
Ad

Viewers also liked (14)

PPT
YHORG Presentation 23 February 2016
PDF
R presentation
PDF
2 R Tutorial Programming
PPTX
R Introduction
PDF
1 R Tutorial Introduction
PDF
Introduction to the R Statistical Computing Environment
PDF
Introduction to R for Data Science :: Session 7 [Multiple Linear Regression i...
PPTX
R- Introduction
PDF
Introduction to R Programming
PPTX
R programming
PPTX
Step By Step Guide to Learn R
PDF
R introduction v2
PPTX
Introduction to R
PDF
Data Science - Part II - Working with R & R studio
YHORG Presentation 23 February 2016
R presentation
2 R Tutorial Programming
R Introduction
1 R Tutorial Introduction
Introduction to the R Statistical Computing Environment
Introduction to R for Data Science :: Session 7 [Multiple Linear Regression i...
R- Introduction
Introduction to R Programming
R programming
Step By Step Guide to Learn R
R introduction v2
Introduction to R
Data Science - Part II - Working with R & R studio
Ad

Similar to Rtutorial (20)

PPTX
Introduction to R for Learning Analytics Researchers
PDF
WiNGS 2014 Workshop 2 R, RStudio, and reproducible research with knitr
PPTX
R programming presentation
PDF
Introduction to R programming
PPT
R studio
PDF
A Handbook Of Statistical Analyses Using R
PPTX
2015-10-23_wim_davis_r_slides.pptx on consumer
PPT
Basics of R
PPTX
Getting Started with R
PPTX
Intro to data science module 1 r
PPT
R Programming for Statistical Applications
PPT
R-programming with example representation.ppt
PDF
PMED Undergraduate Workshop - R Tutorial for PMED Undegraduate Workshop - Xi...
PPTX
DATA MINING USING R (1).pptx
PPTX
R Language Introduction
PPT
R programming by ganesh kavhar
PDF
PPT - Introduction to R.pdf
PDF
Lecture1_R.pdf
PPT
Basics of R-Programming with example.ppt
Introduction to R for Learning Analytics Researchers
WiNGS 2014 Workshop 2 R, RStudio, and reproducible research with knitr
R programming presentation
Introduction to R programming
R studio
A Handbook Of Statistical Analyses Using R
2015-10-23_wim_davis_r_slides.pptx on consumer
Basics of R
Getting Started with R
Intro to data science module 1 r
R Programming for Statistical Applications
R-programming with example representation.ppt
PMED Undergraduate Workshop - R Tutorial for PMED Undegraduate Workshop - Xi...
DATA MINING USING R (1).pptx
R Language Introduction
R programming by ganesh kavhar
PPT - Introduction to R.pdf
Lecture1_R.pdf
Basics of R-Programming with example.ppt

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Cloud computing and distributed systems.
PDF
Approach and Philosophy of On baking technology
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Big Data Technologies - Introduction.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
Encapsulation theory and applications.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Cloud computing and distributed systems.
Approach and Philosophy of On baking technology
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Unlocking AI with Model Context Protocol (MCP)
Dropbox Q2 2025 Financial Results & Investor Presentation
Big Data Technologies - Introduction.pptx
Spectral efficient network and resource selection model in 5G networks
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Network Security Unit 5.pdf for BCA BBA.
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
The AUB Centre for AI in Media Proposal.docx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing

Rtutorial

  • 1. Tutorial on “R” Programming Language Eric A. Suess, Bruce E. Trumbo, and Carlo Cosenza CSU East Bay, Department of Statistics and Biostatistics
  • 2. Outline • • • • • • • • Communication with R R software R Interfaces R code Packages Graphics Parallel processing/distributed computing Commerical R REvolutions
  • 3. Communication with R • In my opinion, the R/S language has become the most common language for communication in the fields of Statistics and and Data Analysis. • Books are being written now with R presented directly placed within the text. • SV use R, for example • Excellent for teaching.
  • 4. R Software • To download R • http://www.r-project.org/ • CRAN • Manuals • The R Journal • Books
  • 6. R Interfaces • • • • • • • RWinEdt Tinn-R JGR (Java Gui for R) Emacs + ESS Rattle AKward Playwith (for graphics)
  • 7. R code > 2+2 [1] 4 > 2+2^2 [1] 6 > (2+2)^2 [1] 16 > sqrt(2) [1] 1.414214 > log(2) [1] 0.6931472 >x=5 > y = 10 > z <- x+y >z [1] 15
  • 8. R Code > seq(1,5, by=.5) [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 > v1 = c(6,5,4,3,2,1) > v1 [1] 6 5 4 3 2 1 > v2 = c(10,9,8,7,6,5) > > v3 = v1 + v2 > v3 [1] 16 14 12 10 8 6
  • 9. R code > max(v3);min(v3) [1] 16 [1] 6 > length(v3) [1] 6 > mean(v3) [1] 11 > sd(v3) [1] 3.741657
  • 10. R code > v4 = v3[v3>10] > v4 [1] 16 14 12 > n = 1:10000; a = (1 + 1/n)^n > cbind(n,a)[c(1:5,10^(1:4)),] n a [1,] 1 2.000000 [2,] 2 2.250000 [3,] 3 2.370370 [4,] 4 2.441406 [5,] 5 2.488320 [6,] 10 2.593742 [7,] 100 2.704814 [8,] 1000 2.716924 [9,] 10000 2.718146
  • 11. R code # LLN cummean = function(x){ n = length(x) y = numeric(n) z = c(1:n) y = cumsum(x) y = y/z return(y) } n = 10000 z = rnorm(n) x = seq(1,n,1) y = cummean(z) X11() plot(x,y,type= 'l',main= 'Convergence Plot')
  • 12. R code # CLT n = 30 k = 1000 # sample size # number of samples mu = 5; sigma = 2; SEM = sigma/sqrt(n) x = matrix(rnorm(n*k,mu,sigma),n,k) # This gives a matrix with the samples # down the columns. x.mean = apply(x,2,mean) x.down = mu - 4*SEM; x.up = mu + 4*SEM; y.up = 1.5 hist(x.mean,prob= T,xlim= c(x.down,x.up),ylim= c(0,y.up),main= 'Sampling distribution of the sample mean, Normal case') par(new= T) x = seq(x.down,x.up,0.01) y = dnorm(x,mu,SEM) plot(x,y,type= 'l',xlim= c(x.down,x.up),ylim= c(0,y.up))
  • 13. R code # Birthday Problem m = 100000; n = 25 # iterations; people in room x = numeric(m) # vector for numbers of matches for (i in 1:m) { b = sample(1:365, n, repl=T) # n random birthdays in ith room x[i] = n - length(unique(b)) # no. of matches in ith room } mean(x == 0); mean(x) # approximates P{X=0}; E(X) cutp = (0:(max(x)+1)) - .5 # break points for histogram hist(x, breaks=cutp, prob=T) # relative freq. histogram
  • 14. R help • help.start() Take a look – An Introduction to R – R Data Import/Export – Packages • data() • ls()
  • 15. R code Data Manipulation with R (Use R) Phil Spector
  • 16. R Packages • There are many contributed packages that can be used to extend R. • These libraries are created and maintained by the authors.
  • 17. R Package - simpleboot mu = 25; sigma = 5; n = 30 x = rnorm(n, mu, sigma) library(simpleboot) reps = 10000 X11() median.boot = one.boot(x, median, R = reps) #print(median.boot) boot.ci(median.boot) hist(median.boot,main="median")
  • 18. R Package – ggplot2 • The fundamental building block of a plot is based on aesthetics and facets • Aesthetics are graphical attributes that effect how the data are displayed. Color, Size, Shape • Facets are subdivisions of graphical data. • The graph is realized by adding layers, geoms, and statistics.
  • 19. R Package – ggplot2 library(ggplot2) oldFaithfulPlot = ggplot(faithful, aes(eruptions,waiting)) oldFaithfulPlot + layer(geom="point") oldFaithfulPlot + layer(geom="point") + layer(geom="smooth")
  • 20. R Package – ggplot2 Ggplot2: Elegant Graphics for Data Analysis (Use R) Hadley Wickham
  • 21. R Package - BioC • BioConductor is an open source and open development software project for the analysis and comprehension of genomic data. • http://www.bioconductor.org • Download > Software > Installation Instructions source("http://bioconductor.org/biocLite.R") biocLite()
  • 22. R Package - affyPara library(affyPara) library(affydata) data(Dilution) Dilution cl <- makeCluster(2, type='SOCK') bgcorrect.methods() affyBatchBGC <- bgCorrectPara(Dilution, method="rma", verbose=TRUE)
  • 23. R Package - snow • Parallel processing has become more common within R • snow, multicore, foreach, etc.
  • 24. R Package - snow • Birthday Problem simulation in parallel cl <- makeCluster(4, type='SOCK') birthday <- function(n) { ntests <- 1000 pop <- 1:365 anydup <- function(i) any(duplicated( sample(pop, n,replace=TRUE))) sum(sapply(seq(ntests), anydup)) / ntests} x <- foreach(j=1:100) %dopar% birthday (j) stopCluster(cl) Ref: http://www.rinfinance.com/RinFinance2009/presentations/UIC-Lewis%204-25-09.pdf
  • 25. REvolution Computing • REvolution R is an enhanced distribution of R • Optimized, validated and supported • http://www.revolution-computing.com/