SlideShare a Scribd company logo
Introduction to R
Arin Basu MD MPH
DataAnalytics
dataanalytics@rediffmail.com
http://dataanalytics.objectis.net
We’ll Cover
• What is R
• How to obtain and install R
• How to read and export data
• How to do basic statistical analyses
• Econometric packages in R
What is R
• Software for Statistical Data Analysis
• Based on S
• Programming Environment
• Interpreted Language
• Data Storage, Analysis, Graphing
• Free and Open Source Software
Obtaining R
• Current Version: R-2.0.0
• Comprehensive R Archive Network:
http://cran.r-project.org
• Binary source codes
• Windows executables
• Compiled RPMs for Linux
• Can be obtained on a CD
Installing R
• Binary (Windows/Linux): One step process
– exe, rpm (Red Hat/Mandrake), apt-get (Debian)
• Linux, from sources:
$ tar –zxvf “filename.tar.gz”
$ cd filename
$ ./configure
$ make
$ make check
$ make install
Starting R
Windows, Double-click on Desktop Icon
Linux, type R at command prompt
$ R
Strengths and Weaknesses
• Strengths
– Free and Open Source
– Strong User Community
– Highly extensible, flexible
– Implementation of high end statistical methods
– Flexible graphics and intelligent defaults
• Weakness
– Steep learning curve
– Slow for large datasets
Basics
• Highly Functional
– Everything done through functions
– Strict named arguments
– Abbreviations in arguments OK
(e.g. T for TRUE)
• Object Oriented
– Everything is an object
– “<-” is an assignment operator
– “X <- 5”: X GETS the value 5
Getting Help in R
• From Documentation:
– ?WhatIWantToKnow
– help(“WhatIWantToKnow”)
– help.search(“WhatIWantToKnow”)
– help.start()
– getAnywhere(“WhatIWantToKnow”)
– example(“WhatIWantToKnow”)
• Documents: “Introduction to R”
• Active Mailing List
– Archives
– Directly Asking Questions on the List
Data Structures
• Supports virtually any type of data
• Numbers, characters, logicals (TRUE/ FALSE)
• Arrays of virtually unlimited sizes
• Simplest: Vectors and Matrices
• Lists: Can Contain mixed type variables
• Data Frame: Rectangular Data Set
Data Structure in R
Linear Rectangular
All Same Type VECTORS MATRIX*
Mixed LIST DATA FRAME
Running R
• Directly in the Windowing System
(Console)
• Using Editors
– Notepad, WinEdt, Tinn-R: Windows
– Xemacs, ESS (Emacs speaks Statistics)
• On the Editor:
–source(“filename.R”)
– Outputs can be diverted by using
• sink(“filename.Rout”)
R Working Area
This is the area where all
commands are issued, and
non-graphical outputs
observed when run
interactively
In an R Session…
• First, read data from other sources
• Use packages, libraries, and functions
• Write functions wherever necessary
• Conduct Statistical Data Analysis
• Save outputs to files, write tables
• Save R workspace if necessary (exit prompt)
Specific Tasks
• To see which directories and data are loaded,
type: search()
• To see which objects are stored, type: ls()
• To include a dataset in the searchpath for
analysis, type:
attach(NameOfTheDataset,
expression)
• To detach a dataset from the searchpath after
analysis, type:
detach(NameOfTheDataset)
Reading data into R
• R not well suited for data preprocessing
• Preprocess data elsewhere (SPSS, etc…)
• Easiest form of data to input: text file
• Spreadsheet like data:
– Small/medium size: use read.table()
– Large data: use scan()
• Read from other systems:
– Use the library “foreign”: library(foreign)
– Can import from SAS, SPSS, Epi Info
– Can export to STATA
Reading Data: summary
• Directly using a vector e.g.: x <- c(1,2,3…)
• Using scan and read.table function
• Using matrix function to read data matrices
• Using data.frame to read mixed data
• library(foreign) for data from other programs
Accessing Variables
• edit(<mydataobject>)
• Subscripts essential tools
– x[1] identifies first element in vector x
– y[1,] identifies first row in matrix y
– y[,1] identifies first column in matrix y
• $ sign for lists and data frames
– myframe$age gets age variable of myframe
– attach(dataframe) -> extract by variable name
Subset Data
• Using subset function
– subset() will subset the dataframe
• Subscripting from data frames
– myframe[,1] gives first column of myframe
• Specifying a vector
– myframe[1:5] gives first 5 rows of data
• Using logical expressions
– myframe[myframe[,1], < 5,] gets all rows of the
first column that contain values less than 5
Graphics
• Plot an object, like: plot(num.vec)
– here plots against index numbers
• Plot sends to graphic devices
– can specify which graphic device you want
• postscript, gif, jpeg, etc…
• you can turn them on and off, like: dev.off()
• Two types of plotting
– high level: graphs drawn with one call
– Low Level: add additional information to
existing graph
High Level: generated with plot()
Low Level: Scattergram with Lowess
Programming in R
• Functions & Operators typically work on
entire vectors
• Expressions surrounded by {}
• Codes separated by newlines, “;” not
necessary
• You can write your own functions and use
them
Statistical Functions in R
• Descriptive Statistics
• Statistical Modeling
– Regressions: Linear and Logistic
– Probit, Tobit Models
– Time Series
• Multivariate Functions
• Inbuilt Packages, contributed packages
Descriptive Statistics
• Has functions for all common statistics
• summary() gives lowest, mean, median,
first, third quartiles, highest for numeric
variables
• stem() gives stem-leaf plots
• table() gives tabulation of categorical
variables
Statistical Modeling
• Over 400 functions
– lm, glm, aov, ts
• Numerous libraries & packages
– survival, coxph, tree (recursive trees), nls, …
• Distinction between factors and regressors
– factors: categorical, regressors: continuous
– you must specify factors unless they are obvious
to R
– dummy variables for factors created automatically
• Use of data.frame makes life easy
How to model
• Specify your model like this:
– y ~ xi+ci, where
– y = outcome variable, xi = main explanatory
variables, ci = covariates, + = add terms
– Operators have special meanings
• + = add terms, : = interactions, / = nesting, so on…
• Modeling -- object oriented
– each modeling procedure produces objects
– classes and functions for each object
Synopsis of Operators
nesting only
no specific
%in%
limiting interaction depths
exponentiation
^
interaction only
sequence
:
main effect and nesting
division
/
main effect and interactions
multiplication
*
add or remove terms
add or subtract
+ or -
In Formula means
Usually means
Operator
Modeling Example: Regression
carReg <- lm(speed~dist, data=cars)
carReg = becomes an object
to get summary of this regression, we type
summary(carReg)
to get only coefficients, we type
coef(carReg), or carReg$coef
don’t want intercept? add 0, so
carReg <- lm(speed~0+dist, data=cars)
Multivariate Techniques
• Several Libraries available
– mva, hmisc, glm,
– MASS: discriminant analysis and multidim
scaling
• Econometrics packages
– dse (multivariate time series, state-space
models), ineq: for measuring inequality, poverty
estimation, its: for irregular time series, sem:
structural equation modeling, and so on…
[http://www.mayin.org/ajayshah/]
Summarizing…
• Effective data handling and storage
• large, coherent set of tools for data analysis
• Good graphical facilities and display
– on screen
– on paper
• well-developed, simple, effective programming
For more resources, check out…
R home page
http://www.r-project.org
R discussion group
http://www.stat.math.ethz.ch/mailman/listinfo/r-help
Search Google for R and Statistics
For more information, contact
dataanalytics@rediffmail.com

More Related Content

PPT
How to obtain and install R.ppt
PPT
Introduction to R for Data Science Technology
PPT
Advanced Data Analytics with R Programming.ppt
PDF
R basics
PDF
R-Language-Lab-Manual-lab-1.pdf
PDF
R-Language-Lab-Manual-lab-1.pdf
PDF
R-Language-Lab-Manual-lab-1.pdf
PPTX
How to obtain and install R.ppt
Introduction to R for Data Science Technology
Advanced Data Analytics with R Programming.ppt
R basics
R-Language-Lab-Manual-lab-1.pdf
R-Language-Lab-Manual-lab-1.pdf
R-Language-Lab-Manual-lab-1.pdf

Similar to 17641.ppt (20)

KEY
Presentation R basic teaching module
PPT
Basics of R
PPTX
Introduction to R _IMPORTANT FOR DATA ANALYTICS
PPTX
R - Get Started I - Sanaitics
PDF
محاضرة برنامج التحليل الكمي R program د.هديل القفيدي
PPTX
statistical computation using R- an intro..
PDF
R Introduction
PPT
Basics of R-Programming with example.ppt
PPT
Basocs of statistics with R-Programming.ppt
PPT
R-Programming.ppt it is based on R programming language
PPT
R programming slides
PPTX
Big Data Mining in Indian Economic Survey 2017
PDF
Machine Learning in R
PDF
محاضرة برنامج التحليل الكمي R program د.هديل القفيدي
PPT
R programming by ganesh kavhar
PPTX
Introduction to R.pptx
PPT
Basics R.ppt
PDF
Introduction to r
PPTX
Step By Step Guide to Learn R
Presentation R basic teaching module
Basics of R
Introduction to R _IMPORTANT FOR DATA ANALYTICS
R - Get Started I - Sanaitics
محاضرة برنامج التحليل الكمي R program د.هديل القفيدي
statistical computation using R- an intro..
R Introduction
Basics of R-Programming with example.ppt
Basocs of statistics with R-Programming.ppt
R-Programming.ppt it is based on R programming language
R programming slides
Big Data Mining in Indian Economic Survey 2017
Machine Learning in R
محاضرة برنامج التحليل الكمي R program د.هديل القفيدي
R programming by ganesh kavhar
Introduction to R.pptx
Basics R.ppt
Introduction to r
Step By Step Guide to Learn R

Recently uploaded (20)

PPTX
Major-Components-ofNKJNNKNKNKNKronment.pptx
PPTX
CEE 2 REPORT G7.pptxbdbshjdgsgjgsjfiuhsd
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PDF
Foundation of Data Science unit number two notes
PPTX
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
PDF
Clinical guidelines as a resource for EBP(1).pdf
PPTX
Business Ppt On Nestle.pptx huunnnhhgfvu
PPT
Chapter 3 METAL JOINING.pptnnnnnnnnnnnnn
PPT
Miokarditis (Inflamasi pada Otot Jantung)
PPTX
climate analysis of Dhaka ,Banglades.pptx
PPTX
oil_refinery_comprehensive_20250804084928 (1).pptx
PDF
Mega Projects Data Mega Projects Data
PPTX
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
PDF
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
PPTX
Introduction to Knowledge Engineering Part 1
PPTX
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
PDF
Launch Your Data Science Career in Kochi – 2025
PPTX
Acceptance and paychological effects of mandatory extra coach I classes.pptx
PDF
Fluorescence-microscope_Botany_detailed content
Major-Components-ofNKJNNKNKNKNKronment.pptx
CEE 2 REPORT G7.pptxbdbshjdgsgjgsjfiuhsd
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
Foundation of Data Science unit number two notes
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
Clinical guidelines as a resource for EBP(1).pdf
Business Ppt On Nestle.pptx huunnnhhgfvu
Chapter 3 METAL JOINING.pptnnnnnnnnnnnnn
Miokarditis (Inflamasi pada Otot Jantung)
climate analysis of Dhaka ,Banglades.pptx
oil_refinery_comprehensive_20250804084928 (1).pptx
Mega Projects Data Mega Projects Data
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
Introduction to Knowledge Engineering Part 1
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
Launch Your Data Science Career in Kochi – 2025
Acceptance and paychological effects of mandatory extra coach I classes.pptx
Fluorescence-microscope_Botany_detailed content

17641.ppt

  • 1. Introduction to R Arin Basu MD MPH DataAnalytics dataanalytics@rediffmail.com http://dataanalytics.objectis.net
  • 2. We’ll Cover • What is R • How to obtain and install R • How to read and export data • How to do basic statistical analyses • Econometric packages in R
  • 3. What is R • Software for Statistical Data Analysis • Based on S • Programming Environment • Interpreted Language • Data Storage, Analysis, Graphing • Free and Open Source Software
  • 4. Obtaining R • Current Version: R-2.0.0 • Comprehensive R Archive Network: http://cran.r-project.org • Binary source codes • Windows executables • Compiled RPMs for Linux • Can be obtained on a CD
  • 5. Installing R • Binary (Windows/Linux): One step process – exe, rpm (Red Hat/Mandrake), apt-get (Debian) • Linux, from sources: $ tar –zxvf “filename.tar.gz” $ cd filename $ ./configure $ make $ make check $ make install
  • 6. Starting R Windows, Double-click on Desktop Icon Linux, type R at command prompt $ R
  • 7. Strengths and Weaknesses • Strengths – Free and Open Source – Strong User Community – Highly extensible, flexible – Implementation of high end statistical methods – Flexible graphics and intelligent defaults • Weakness – Steep learning curve – Slow for large datasets
  • 8. Basics • Highly Functional – Everything done through functions – Strict named arguments – Abbreviations in arguments OK (e.g. T for TRUE) • Object Oriented – Everything is an object – “<-” is an assignment operator – “X <- 5”: X GETS the value 5
  • 9. Getting Help in R • From Documentation: – ?WhatIWantToKnow – help(“WhatIWantToKnow”) – help.search(“WhatIWantToKnow”) – help.start() – getAnywhere(“WhatIWantToKnow”) – example(“WhatIWantToKnow”) • Documents: “Introduction to R” • Active Mailing List – Archives – Directly Asking Questions on the List
  • 10. Data Structures • Supports virtually any type of data • Numbers, characters, logicals (TRUE/ FALSE) • Arrays of virtually unlimited sizes • Simplest: Vectors and Matrices • Lists: Can Contain mixed type variables • Data Frame: Rectangular Data Set
  • 11. Data Structure in R Linear Rectangular All Same Type VECTORS MATRIX* Mixed LIST DATA FRAME
  • 12. Running R • Directly in the Windowing System (Console) • Using Editors – Notepad, WinEdt, Tinn-R: Windows – Xemacs, ESS (Emacs speaks Statistics) • On the Editor: –source(“filename.R”) – Outputs can be diverted by using • sink(“filename.Rout”)
  • 13. R Working Area This is the area where all commands are issued, and non-graphical outputs observed when run interactively
  • 14. In an R Session… • First, read data from other sources • Use packages, libraries, and functions • Write functions wherever necessary • Conduct Statistical Data Analysis • Save outputs to files, write tables • Save R workspace if necessary (exit prompt)
  • 15. Specific Tasks • To see which directories and data are loaded, type: search() • To see which objects are stored, type: ls() • To include a dataset in the searchpath for analysis, type: attach(NameOfTheDataset, expression) • To detach a dataset from the searchpath after analysis, type: detach(NameOfTheDataset)
  • 16. Reading data into R • R not well suited for data preprocessing • Preprocess data elsewhere (SPSS, etc…) • Easiest form of data to input: text file • Spreadsheet like data: – Small/medium size: use read.table() – Large data: use scan() • Read from other systems: – Use the library “foreign”: library(foreign) – Can import from SAS, SPSS, Epi Info – Can export to STATA
  • 17. Reading Data: summary • Directly using a vector e.g.: x <- c(1,2,3…) • Using scan and read.table function • Using matrix function to read data matrices • Using data.frame to read mixed data • library(foreign) for data from other programs
  • 18. Accessing Variables • edit(<mydataobject>) • Subscripts essential tools – x[1] identifies first element in vector x – y[1,] identifies first row in matrix y – y[,1] identifies first column in matrix y • $ sign for lists and data frames – myframe$age gets age variable of myframe – attach(dataframe) -> extract by variable name
  • 19. Subset Data • Using subset function – subset() will subset the dataframe • Subscripting from data frames – myframe[,1] gives first column of myframe • Specifying a vector – myframe[1:5] gives first 5 rows of data • Using logical expressions – myframe[myframe[,1], < 5,] gets all rows of the first column that contain values less than 5
  • 20. Graphics • Plot an object, like: plot(num.vec) – here plots against index numbers • Plot sends to graphic devices – can specify which graphic device you want • postscript, gif, jpeg, etc… • you can turn them on and off, like: dev.off() • Two types of plotting – high level: graphs drawn with one call – Low Level: add additional information to existing graph
  • 21. High Level: generated with plot()
  • 22. Low Level: Scattergram with Lowess
  • 23. Programming in R • Functions & Operators typically work on entire vectors • Expressions surrounded by {} • Codes separated by newlines, “;” not necessary • You can write your own functions and use them
  • 24. Statistical Functions in R • Descriptive Statistics • Statistical Modeling – Regressions: Linear and Logistic – Probit, Tobit Models – Time Series • Multivariate Functions • Inbuilt Packages, contributed packages
  • 25. Descriptive Statistics • Has functions for all common statistics • summary() gives lowest, mean, median, first, third quartiles, highest for numeric variables • stem() gives stem-leaf plots • table() gives tabulation of categorical variables
  • 26. Statistical Modeling • Over 400 functions – lm, glm, aov, ts • Numerous libraries & packages – survival, coxph, tree (recursive trees), nls, … • Distinction between factors and regressors – factors: categorical, regressors: continuous – you must specify factors unless they are obvious to R – dummy variables for factors created automatically • Use of data.frame makes life easy
  • 27. How to model • Specify your model like this: – y ~ xi+ci, where – y = outcome variable, xi = main explanatory variables, ci = covariates, + = add terms – Operators have special meanings • + = add terms, : = interactions, / = nesting, so on… • Modeling -- object oriented – each modeling procedure produces objects – classes and functions for each object
  • 28. Synopsis of Operators nesting only no specific %in% limiting interaction depths exponentiation ^ interaction only sequence : main effect and nesting division / main effect and interactions multiplication * add or remove terms add or subtract + or - In Formula means Usually means Operator
  • 29. Modeling Example: Regression carReg <- lm(speed~dist, data=cars) carReg = becomes an object to get summary of this regression, we type summary(carReg) to get only coefficients, we type coef(carReg), or carReg$coef don’t want intercept? add 0, so carReg <- lm(speed~0+dist, data=cars)
  • 30. Multivariate Techniques • Several Libraries available – mva, hmisc, glm, – MASS: discriminant analysis and multidim scaling • Econometrics packages – dse (multivariate time series, state-space models), ineq: for measuring inequality, poverty estimation, its: for irregular time series, sem: structural equation modeling, and so on… [http://www.mayin.org/ajayshah/]
  • 31. Summarizing… • Effective data handling and storage • large, coherent set of tools for data analysis • Good graphical facilities and display – on screen – on paper • well-developed, simple, effective programming
  • 32. For more resources, check out… R home page http://www.r-project.org R discussion group http://www.stat.math.ethz.ch/mailman/listinfo/r-help Search Google for R and Statistics
  • 33. For more information, contact dataanalytics@rediffmail.com