SlideShare a Scribd company logo
a Taste of R Programming
Kyle Akepanidtaworn,
LSESU Data Science
Society
About Me
• Founder and President of LSESU Data Science Society
(2016)
• A General Course Student at LSE studying Econ & Stats
• Former Big Data Intern at IMC Institute, Thailand
• Former Teaching Assistant at Wesleyan University
• Former Quantitative Consultant for the Connection in the
course “intro to statistical consulting“ at Wesleyan
• Programming & Stats Packages: R, Python, SPSS, SAS,
STATA
• Business Intelligence Tools: Tableau, Qilkview
• Linkedin: https://uk.linkedin.com/in/korkridakepan
7 Quick Facts about R
• R is the highest paid IT skill (Dice.com
survey, January 2014)
• R most-used data science language after
SQL (O'Reilly survey, January 2014)
• R is used by 70% of data miners (Rexer
survey, October 2013)
• R is #15 of all programming languages
(RedMonk language rankings, January
2014)
• R growing faster than any other data
science language (KDNuggets survey,
August 2013)
• R is the #1 Google Search for Advanced
Analytics software (Google Trends, March
2014)
• R has more than 2 million users
worldwide (Oracle estimate, February
2012)
• http://blog.revolutionanalytics.com/2014/0
4/seven-quick-facts-about-r.html
What is R?
• Developed by Ross Ihaka and Robert
Gentleman (statistician)
• First appeared Aug 1993; 23 years ago
• Some capabilities of R include:
Software development
Data analysis and visualization
Polling, surveys of data miners
Shiny application development
Writing project report
Creating the HTML presentation
Data Science War: R vs. Python
Source: Which #superheroe are you?(#batman Vs. #Superman) == (#R Vs. #Python)?
R vs Python vs SAS (Analytics Vidhya)
Experience the Power of R
Language!
Why Learn R?
Outstanding Graphs
Big Community!
Friendly to New Users and Non-programmers
Extremely Comprehensive
Flexible & Fun!
Open-source Language
Cross-Platform Compatibility
Advanced Statistical Language
• Facebook - For behavior analysis related to status
updates and profile pictures.
• Google - For advertising effectiveness and economic
forecasting.
• Twitter - For data visualization and semantic
clustering
• Microsoft - Acquired Revolution R company and use
it for a variety of purposes.
• Uber - For statistical analysis
• Airbnb - Scale data science.
• IBM - Joined R Consortium Group
• ANZ - For credit risk modeling
• HP
• Ford
• Novartis
• Roche
• New York Times - For data visualization
• Mckinsey
• BCG
• Bain
Companies Using R
Installation Guide
1. Go to https://cran.r-project.org/ (The Comprehensive R Archive Network)
2. Choose the platform (either Windows or Mac) that suits you
3. Follow the installation instruction…nothing tricky here
4. Download R-Studio, which is an add-on user interface of R programming.
https://www.rstudio.com/
R Studio User Interface
Remark
I encourage everyone to follow the latest development of R programming via R-Bloggers,
CRAN R, and R Studio websites. There are always a tremendous number of developers
who help ease the analysis task for the R users.
A Transition from Microsoft Excel to R?
• Peter Flom, Independent statistical consultant for researchers in behavioral, social and
medical sciences, has a compelling argument why Excel is such an undervalued tool for data
analysis.
• Excel isn’t undervalued as a tool for statistical analysis. If anything, it’s overvalued as such a
tool.
• Most competent analysts do not use Excel, not because it’s too easy, but other analytical tools
have more statistical capabilities.
• The default graphs in Excel are awful…other visualization tools outperform Microsoft Excel.
• Learning statistics in Excel sometimes gives an imaginary idea about data analysis. Doing
good statistics requires rigorously intensive training.
• Excel cannot handle big data. If you are dealing with more than 1+ million data points, you
need to seek help from R or Python.
• It makes it harder than other programs to check the assumptions we made in analysis.
Migrate Microsoft Excel to R?
Teaching Outline
Chapter 1: R in Point-and-Click
• Rcommander
• Menu in Rcommander
• R vs. STATA vs. IBM SPSS
• Why is Coding Critical?
Chapter 2: Basics of R Programming
• Basic and Complex Numerical Operations
• R Basic Data Types
 Numeric
 Integer
 Complex
 Logical
 Character
Chapter 2: Basics of R (Cont’)
• Matrix
• Vector
• List
• Data Frame
• For-Loop
• Writing your functions
Chapter 3: R for Data Science
• Using External Data
• Exploratory Data Analysis (EDA)
• Predictive Modelling
 Linear Regression
 Classification
 Clustering
RCommanderBasics in R in a non-programming way
R Commanders
• Enables analysts to access a
selection of commonly-used R
commands.
• Serves the important role of helping
users to implement R commands
and develop their knowledge and
expertise in using the command line.
• Comes with a number of plugins
available that provide direct access
to R packages.
The Complete Menu Trees: Rcmdr (i)
The Complete Menu Trees: Rcmdr (ii)
The Complete Menu Trees: Rcmdr (iii)
The Complete Menu Trees: Rcmdr (iv)
Comparing the statistical capabilities of
software packages
• A statistical consultant known only as "Stanford PhD" has put together a table comparing the
statistical capabilities of the software packages R, Matlab, SAS, Stata and SPSS.
Comparing the statistical capabilities of
software packages
• For each of 57 methods (including techniques like "ridge regression", "survival analysis",
"optimization") the author ranks the capabilities of each software package as "Yes" (fully
supported), "Limited" or "Experimental".
• R and Matlab capabilities outperform those of SAS, STATA, and SPSS.
• Python, to the best of my knowledge, is not rich in statistical testing functions, so it lies
somewhere between R and SAS.
R 57
Matlab 57
SAS 42
Stata 29
SPSS 20
Should economists learn programming?
Of course! As Keynes said: "The master-economist must possess a rare combination of gifts ....
He must be mathematician, historian, statesman, programmer, philosopher -- in some degree.
He must understand symbols, write code, and speak in words. He must contemplate the
particular, in terms of the general, and touch abstract and concrete in the same flight of thought.
He must study the present in the light of the past for the purposes of the future. He must be able
to speak a common language with a computer scientist, a physicist and a sociologist. No part of
man's nature or his institutions must be entirely outside his regard. He must be purposeful and
disinterested in a simultaneous mood, as aloof and incorruptible as an artist, yet sometimes as
near to earth as a politician.”
--- Alex Teytelboym, Research Fellow in Economics at INET, University of Oxford
Why Coding? (I)
• As a social science student at LSE, managing, analyzing, and playing with data is an
important part of your work. (charts, curves, and trends etc.)
• Without programming skills, your work becomes more limited.
• Are you always relying upon manual calculations?
• Are you hand-collecting the data when you can write the code to easily retrieve data?
• Are you working with big data? Do you think excel will solve all data problems?
• With code, you can increase multiply by a huge factor the amount of work or calculations
you can perform, read millions of rows of data, try and find patterns or relations, compare
oil prices to Reddit traffic, or the natality rate to the average interest earned by investors in
Wyoming; whatever you can think of in a matter of minutes or hours and unleash your
imagination.
Why Coding? (II)
• Many experimental data requires you pull, clean and manipulate large sets of available
and incoming data to run experiments based on some economic question you're testing.
• If you can write code to do these tasks quickly and efficiently, you can iterate quickly
through a lot more hypotheses you might want to test.
• The cutting edge of economic research uses novel datasets and combines both theory
and empirics.
• Everyone in this room has different expectations of what they want to be able to do with
data. In social science, analytics is very important, while computer programming with
C++, Java, and similar languages are hardly necessary.
Everybody in this country
should learn to program
a computer… because it
teaches you how to think
- Steve Jobs, Co-Founder and CEO of Apple Inc. (1995 -2011)
R QuintessenceThe most disastrous thing that you can ever learn is
your first programming language – Alan Kay
R Arithmetic and Logical Operators
Hey! Note that R is case
sensitive!
R Basic Data Types
• Numeric
• Integer
• Complex
• Logical
• Character
Constants, variables and data types – BBC BiteSize Programming Course GCSE
R Data Structures (I)
Figure: R Data Structures (AmazonS3 Website)
R Data Structures (II)
R Data Structures (III)
What are “Loops”?
• “Looping”, “cycling”, “iterating” or just replicating instructions is an old practice that
originated well before the invention of computers. It is nothing more than automating a
multi-step process by organizing sequences of actions or ‘batch’ processes and by
grouping the parts that need to be repeated.
• All modern programming languages provide special constructs that allow for the repetition
of instructions or blocks of instructions.
• Broadly speaking, there are two types of these special constructs or loops in modern
programming languages. Some loops execute for a prescribed number of times, as
controlled by a counter or an index, incremented at each iteration cycle. These are part of
the for loop family.
• On the other hand, some loops are based on the onset and verification of a logical
condition. The condition is tested at the start or the end of the loop construct. These
variants belong to the while or repeat family of loops, respectively.
Looping in R
Figure: a Tutorial on Loops in R (DataCamp)
Functions (I)
• Functions are used to logically break our code into simpler parts which become easy to
maintain and understand.
• It's pretty straightforward to create your own function in R programming.
Functions (II)
• Conceptually, given some inputs of x, we perform some computation to get the new
output.
• Some commonly known functions are mean, median, square root and summation etc.
Functions (III)
• Fortunately, R provides some built-in functions that are widely used in mathematics and statistics:
Functions (IV)
Functions (V)
• Writing functions should spring to your
mind when you want to write your own
chunk of codes and automate codes
easily.
• Creating your own functions begs some
imagination and efficient coding skill.
• Please revisit the workshop file for
example in action!
• Peace of mind: a vast community of R
developers around the world collaborates
in providing R useful packages, which
saves us a lot of time and effort.
• As you progress in data analysis with R,
finding the right packages may provide a
shortcut for your research project.
LSESU a Taste of R Language Workshop
Top 10 R Packages
Packages are collections of R functions, data, and
compiled code in a well-defined format. The directory
where packages are stored is called the library.
- Quick-R
R for Data ScienceWithout data, you’re just another person with an opinion
How to Import the Data
Importing your data into R – R Tutorials by R-Bloggers
“The simple graph has brought more information to the
data analyst’s mind than any other device.”
- John Tukey
R for Data Science: Data Visualization
• R has several systems for making
graphs, but ggplot2 is one of the most
elegant and most versatile. ggplot2
implements the grammar of graphics,
a coherent system for describing and
building graphs. With ggplot2, you can
do more faster by learning one system
and applying it in many places.
• If you’d like to learn more about the
theoretical underpinnings of ggplot2
before you start, I’d recommend
reading “The Layered Grammar of
Graphics”,
http://vita.had.co.nz/papers/layered-
grammar.pdf.
Examples of R Visualizations (I)
Examples of R
Visualizations
(II)
Examples of R Visualizations (III)
LSESU a Taste of R Language Workshop
“Avoiding Chart Junks”, Tufte
Storytelling with data –
a data visualization guide for business
professionals
Simple Framework of Machine Learning
LSESU a Taste of R Language Workshop
LSESU a Taste of R Language Workshop
LSESU a Taste of R Language Workshop
LSESU a Taste of R Language Workshop
Statistical Modelling: Linear Regression
Statistical Modelling: Logistic Regression
Clustering Algorithms
Machine Learning Workflow
LSESU a Taste of R Language Workshop
R Studio Tips and Tricks
R Studio Tips and Tricks
These are not exactly coding tricks, but rather ways to make your life easier using key
commands.
• The up arrow on your keyboard will allow you to scroll up through your past commands
• The tab key on your keyboard will help you (particularly in RStudio) by offering ways to
finish your code.
• When working within a .R or .Rmd file, you can put your cursor on a line and hit Cntrl +
Enter to get the code to execute in the Console. (On a mac, Command + Enter.)
• If you get stuck with some syntax (usually, mismatched parentheses or quotes), the R
Console will change from the > at the beginning of the line (which means it is waiting for a
new command) to the + at the beginning of the line (which means it is waiting for you to
finish a command). To get out, hit the Escape key.
Tearable Panes
Tearable panes are anything but terrible. This feature allows users to tear off data view
panes and source panes facilitating the use of multiple screens.
Command History
In the console it is possible to scroll through the command history by clicking Ctrl/Cmd and ↑.
The command history will be filtered as code is typed into the console:
History Pane
The history pane shows a searchable list of commands that have been run. Commands can
be written to the source pane or the console. No more copy and paste from the console to a
script!
Rename in Scope
This feature makes it easy to rename all instances of a variable. The tool is context aware;
changing ‘m’ to ‘m1’ won’t change ‘mtcars’ to ‘m1tcars’.
Gallery and Satellite View in Notebooks
A new feature built into R Notebooks, a code chunk that produces multiple plots will produce
a gallery. The plots can be viewed by toggling between thumbnails. The gallery can be
expanded into a new satellite window for closer inspection.
Code Outline
Save time scrolling with the code outline. This feature works for R Notebooks and traditional
R scripts. In R Notebooks sections are delimited by the R Markdown headers. In R scripts
sections are delimited by section comments (Try Code -> Insert Section).
Code Snippets
Code snippets are a shortcut to insert common boilerplate code. For instance, type fun and
then Tab to insert the skeleton code for a function definition. Then hit Tab to replace the
necessary components. In addition to a rich set of defaults, custom code snippets can also
be created.
File Navigation
Many people know of RStudio’s rich set of tab complete options for functions and function
arguments. Tab complete can also help find files and remove the hassle of writing out long
path locations. Hit tab in between two double quotes (“ “) to open a file explorer.
Jump To Function Definition
Want to dig into the innards of a function? With the cursor on a function press F2 to jump to
the function definition, even for functions in a package.
Thanks!
ANY QUESTIONS?
You can find me at
@Korkrid Ake
datasciencesoc@lsesu.org
Further Resources
R Language
 Advanced R: http://adv-r.had.co.nz/
 Bioconductor: https://www.bioconductor.org/
 CRANberries:
http://dirk.eddelbuettel.com/cranberries/
 MRAN:
https://mran.revolutionanalytics.com/
 rOpenSci: https://ropensci.org/
 R Project: https://www.r-project.org/
 The R Journal: https://journal.r-project.org/
R Community
 R Consortium: https://www.r-consortium.org/
 R Weekly: https://rweekly.org/
Data Sciences
 Apache Hadoop: http://hadoop.apache.org/
 KDnuggets: http://www.kdnuggets.com/
 R for Data Science: http://r4ds.had.co.nz/
 sparklyr: http://spark.rstudio.com/
 SparkR:
https://spark.apache.org/docs/latest/sparkr.h
tml
 Tessera: http://tessera.io/
Further Resources
Blogs
 RStudio Blog: https://blog.rstudio.org/
 BLOGR: https://drsimonj.svbtle.com/
 Mad (Data) Scientist:
https://matloff.wordpress.com/
 R Bloggers: https://www.r-bloggers.com/
 R Consortium Blog: https://www.r-
consortium.org/news/blog
 Revolutions Blog:
http://blog.revolutionanalytics.com
 rOpenSci Blog: https://ropensci.org/blog/
 Simply Statistics: http://simplystatistics.org/
 Statistical Modeling, Causal Inference, and Social
Science: http://andrewgelman.com/
 StatsBlogs: http://www.statsblogs.com/
 Win-Vector Blog: http://www.win-vector.com/blog/
Statistics
 Journal of Statistical Software:
https://www.jstatsoft.org/index
 Forecasting: principles and practice:
https://www.otexts.org/fpp
 From Algorithms to Z-Scores:
http://heather.cs.ucdavis.edu/~matloff/132/PLN/P
robStatBookW16ECS132.pdf
 Statistical Foundations of Machine Learning:
https://www.otexts.org/book/sfml
 The Elements of Statistical Learning:
http://statweb.stanford.edu/~tibs/ElemStatLearn/p
rintings/ESLII_print10.pdf
DataCamp: Learning R by Doing
Udemy R Courses
• Another company is Udemy. While they do not offer video + interactive sessions like DataCamp
• They do offer extensive video lessons, covering some other topics in using R and learning statistics.
• The Comprehensive Programming in R Course (25 Hours of video)
• Graphs in R (ggplot2, plotrix, base R) – Data Visualization with R Programming Language (5 Hours of video)
• Linear Mixed-Effects Models with R (11 Hours of video)
• Multivariate Data Visualization with R (7 Hours of video)
• Applied Multivariate Analysis with R (13 Hours of video)
• More Data Mining with R (11 Hours of video)
• Text Mining, Scraping and Sentiment Analysis with R (4 Hours of video)
• R Programming for Simulation and Monte Carlo Methods (12 Hours of video)
• Programming Statistical Applications in R (12 Hours of video)
• Comprehensive Linear Modeling with R (15 Hours of video)
• Bayesian Computational Analyses with R (12 Hours of video)
• Time Series Analysis and Forecasting in R (3 Hours of video)

More Related Content

PPT
R programming slides
PDF
The History and Use of R
PDF
R tutorial
PDF
R programming for data science
PDF
A short tutorial on r
PPTX
R programming language
PPTX
R language tutorial
PPTX
R Programming
R programming slides
The History and Use of R
R tutorial
R programming for data science
A short tutorial on r
R programming language
R language tutorial
R Programming

What's hot (19)

PPTX
R programming presentation
PDF
Class ppt intro to r
PPTX
R programming Language , Rahul Singh
PPTX
R programming
PPTX
Why R? A Brief Introduction to the Open Source Statistics Platform
PPT
R programming
PPTX
R programming
PDF
R programming groundup-basic-section-i
PPTX
R programming
PPTX
PDF
Introduction to data analysis using R
PDF
2 it unit-1 start learning r
PPTX
How to get started with R programming
PPTX
Introduction to statistical software R
PDF
1 R Tutorial Introduction
PPTX
R programming
PPTX
Introducing The R Software
PPTX
R for data analytics
PDF
Weka tutorial
R programming presentation
Class ppt intro to r
R programming Language , Rahul Singh
R programming
Why R? A Brief Introduction to the Open Source Statistics Platform
R programming
R programming
R programming groundup-basic-section-i
R programming
Introduction to data analysis using R
2 it unit-1 start learning r
How to get started with R programming
Introduction to statistical software R
1 R Tutorial Introduction
R programming
Introducing The R Software
R for data analytics
Weka tutorial
Ad

Viewers also liked (20)

PPTX
Computational Biology and Bioinformatics
PDF
IBM - Big Value from Big Data
PPT
Systems biology: Bioinformatics on complete biological system
PPTX
Computational Systems Biology (JCSB)
PDF
Data Scientist - The Sexiest Job of the 21st Century?
PPTX
Tutorial 1: Your First Science App - Araport Developer Workshop
PDF
Day in the Life of a Computer Scientist
PPT
Apps for Science - Elsevier Developer Network Workshop 201102
PDF
Python for Data Science
PDF
Jupyter, A Platform for Data Science at Scale
PDF
Zwischen Browser, Code & Photoshop - aus dem Leben eines Webworkers
PDF
Do you know what k-Means? Cluster-Analysen
PPT
Systems biology - Understanding biology at the systems level
PDF
Analytics meets Big Data – R/Python auf der Hadoop/Spark-Plattform
PDF
Donald Knuth
PPT
Job ppt1
PPT
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
PPTX
System biology and its tools
PPTX
PO WER - XX LO Gdańsk - Alan Turing
PPTX
Multi-omics infrastructure and data for R/Bioconductor
Computational Biology and Bioinformatics
IBM - Big Value from Big Data
Systems biology: Bioinformatics on complete biological system
Computational Systems Biology (JCSB)
Data Scientist - The Sexiest Job of the 21st Century?
Tutorial 1: Your First Science App - Araport Developer Workshop
Day in the Life of a Computer Scientist
Apps for Science - Elsevier Developer Network Workshop 201102
Python for Data Science
Jupyter, A Platform for Data Science at Scale
Zwischen Browser, Code & Photoshop - aus dem Leben eines Webworkers
Do you know what k-Means? Cluster-Analysen
Systems biology - Understanding biology at the systems level
Analytics meets Big Data – R/Python auf der Hadoop/Spark-Plattform
Donald Knuth
Job ppt1
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
System biology and its tools
PO WER - XX LO Gdańsk - Alan Turing
Multi-omics infrastructure and data for R/Bioconductor
Ad

Similar to LSESU a Taste of R Language Workshop (20)

PDF
UNIT-4 Start Learning R and installation .pdf
PDF
UNIT-1 Start Learning R.pdf
PPTX
R and Rcmdr Statistical Software
PPTX
Reason To learn & use r
PPTX
R_L1-Aug-2022.pptx
PPTX
BIG DATA ANALYTICS USING R
PDF
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
PPTX
Big data analytics with R tool.pptx
PPTX
DOC-20240829-WA0001 power point presentation
PPT
An introduction to R is a document useful
PDF
Skillshare - Let's talk about R in Data Journalism
PDF
R Programming - part 1.pdf
PDF
Intro to R for SAS and SPSS User Webinar
PDF
Executive Intro to R
PPTX
Data Science With R Programming Unit - II Part-1.pptx
PPTX
Data science with R Unit - II Part-1.pptx
PDF
R Programming Overview
PDF
Learn Business Analytics with R at edureka!
PPTX
R programming Language
PPTX
1_Introduction.pptx
UNIT-4 Start Learning R and installation .pdf
UNIT-1 Start Learning R.pdf
R and Rcmdr Statistical Software
Reason To learn & use r
R_L1-Aug-2022.pptx
BIG DATA ANALYTICS USING R
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
Big data analytics with R tool.pptx
DOC-20240829-WA0001 power point presentation
An introduction to R is a document useful
Skillshare - Let's talk about R in Data Journalism
R Programming - part 1.pdf
Intro to R for SAS and SPSS User Webinar
Executive Intro to R
Data Science With R Programming Unit - II Part-1.pptx
Data science with R Unit - II Part-1.pptx
R Programming Overview
Learn Business Analytics with R at edureka!
R programming Language
1_Introduction.pptx

More from Korkrid Akepanidtaworn (6)

PDF
Data Science & Analytics Talk @ ExxonMobil
PDF
Dashboard in a Day
PDF
Intro to Azure OpenAI Service L100 (Thai Ver).pdf
PDF
[AI] ML Operationalization with Microsoft Azure
PDF
Open Data, Open Opportunity, Open to Progress
PDF
Learning from Conversation with the Governor: Big Data Challenges for Bank of...
Data Science & Analytics Talk @ ExxonMobil
Dashboard in a Day
Intro to Azure OpenAI Service L100 (Thai Ver).pdf
[AI] ML Operationalization with Microsoft Azure
Open Data, Open Opportunity, Open to Progress
Learning from Conversation with the Governor: Big Data Challenges for Bank of...

Recently uploaded (20)

PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PDF
Business Analytics and business intelligence.pdf
PPTX
STUDY DESIGN details- Lt Col Maksud (21).pptx
PPTX
DISORDERS OF THE LIVER, GALLBLADDER AND PANCREASE (1).pptx
PPTX
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
PPTX
climate analysis of Dhaka ,Banglades.pptx
PDF
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
PPTX
IBA_Chapter_11_Slides_Final_Accessible.pptx
PPTX
1_Introduction to advance data techniques.pptx
PPT
Reliability_Chapter_ presentation 1221.5784
PPT
Quality review (1)_presentation of this 21
PPTX
Computer network topology notes for revision
PPTX
The THESIS FINAL-DEFENSE-PRESENTATION.pptx
PDF
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
PDF
Fluorescence-microscope_Botany_detailed content
PPTX
oil_refinery_comprehensive_20250804084928 (1).pptx
PPTX
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
PPT
Miokarditis (Inflamasi pada Otot Jantung)
PDF
Foundation of Data Science unit number two notes
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
Business Analytics and business intelligence.pdf
STUDY DESIGN details- Lt Col Maksud (21).pptx
DISORDERS OF THE LIVER, GALLBLADDER AND PANCREASE (1).pptx
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
climate analysis of Dhaka ,Banglades.pptx
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
IBA_Chapter_11_Slides_Final_Accessible.pptx
1_Introduction to advance data techniques.pptx
Reliability_Chapter_ presentation 1221.5784
Quality review (1)_presentation of this 21
Computer network topology notes for revision
The THESIS FINAL-DEFENSE-PRESENTATION.pptx
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
Fluorescence-microscope_Botany_detailed content
oil_refinery_comprehensive_20250804084928 (1).pptx
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
Miokarditis (Inflamasi pada Otot Jantung)
Foundation of Data Science unit number two notes

LSESU a Taste of R Language Workshop

  • 1. a Taste of R Programming Kyle Akepanidtaworn, LSESU Data Science Society
  • 2. About Me • Founder and President of LSESU Data Science Society (2016) • A General Course Student at LSE studying Econ & Stats • Former Big Data Intern at IMC Institute, Thailand • Former Teaching Assistant at Wesleyan University • Former Quantitative Consultant for the Connection in the course “intro to statistical consulting“ at Wesleyan • Programming & Stats Packages: R, Python, SPSS, SAS, STATA • Business Intelligence Tools: Tableau, Qilkview • Linkedin: https://uk.linkedin.com/in/korkridakepan
  • 3. 7 Quick Facts about R • R is the highest paid IT skill (Dice.com survey, January 2014) • R most-used data science language after SQL (O'Reilly survey, January 2014) • R is used by 70% of data miners (Rexer survey, October 2013) • R is #15 of all programming languages (RedMonk language rankings, January 2014) • R growing faster than any other data science language (KDNuggets survey, August 2013) • R is the #1 Google Search for Advanced Analytics software (Google Trends, March 2014) • R has more than 2 million users worldwide (Oracle estimate, February 2012) • http://blog.revolutionanalytics.com/2014/0 4/seven-quick-facts-about-r.html
  • 4. What is R? • Developed by Ross Ihaka and Robert Gentleman (statistician) • First appeared Aug 1993; 23 years ago • Some capabilities of R include: Software development Data analysis and visualization Polling, surveys of data miners Shiny application development Writing project report Creating the HTML presentation
  • 5. Data Science War: R vs. Python Source: Which #superheroe are you?(#batman Vs. #Superman) == (#R Vs. #Python)?
  • 6. R vs Python vs SAS (Analytics Vidhya)
  • 7. Experience the Power of R Language!
  • 8. Why Learn R? Outstanding Graphs Big Community! Friendly to New Users and Non-programmers Extremely Comprehensive Flexible & Fun! Open-source Language Cross-Platform Compatibility Advanced Statistical Language
  • 9. • Facebook - For behavior analysis related to status updates and profile pictures. • Google - For advertising effectiveness and economic forecasting. • Twitter - For data visualization and semantic clustering • Microsoft - Acquired Revolution R company and use it for a variety of purposes. • Uber - For statistical analysis • Airbnb - Scale data science. • IBM - Joined R Consortium Group • ANZ - For credit risk modeling • HP • Ford • Novartis • Roche • New York Times - For data visualization • Mckinsey • BCG • Bain Companies Using R
  • 10. Installation Guide 1. Go to https://cran.r-project.org/ (The Comprehensive R Archive Network) 2. Choose the platform (either Windows or Mac) that suits you 3. Follow the installation instruction…nothing tricky here 4. Download R-Studio, which is an add-on user interface of R programming. https://www.rstudio.com/
  • 11. R Studio User Interface
  • 12. Remark I encourage everyone to follow the latest development of R programming via R-Bloggers, CRAN R, and R Studio websites. There are always a tremendous number of developers who help ease the analysis task for the R users.
  • 13. A Transition from Microsoft Excel to R? • Peter Flom, Independent statistical consultant for researchers in behavioral, social and medical sciences, has a compelling argument why Excel is such an undervalued tool for data analysis. • Excel isn’t undervalued as a tool for statistical analysis. If anything, it’s overvalued as such a tool. • Most competent analysts do not use Excel, not because it’s too easy, but other analytical tools have more statistical capabilities. • The default graphs in Excel are awful…other visualization tools outperform Microsoft Excel. • Learning statistics in Excel sometimes gives an imaginary idea about data analysis. Doing good statistics requires rigorously intensive training. • Excel cannot handle big data. If you are dealing with more than 1+ million data points, you need to seek help from R or Python. • It makes it harder than other programs to check the assumptions we made in analysis.
  • 15. Teaching Outline Chapter 1: R in Point-and-Click • Rcommander • Menu in Rcommander • R vs. STATA vs. IBM SPSS • Why is Coding Critical? Chapter 2: Basics of R Programming • Basic and Complex Numerical Operations • R Basic Data Types  Numeric  Integer  Complex  Logical  Character Chapter 2: Basics of R (Cont’) • Matrix • Vector • List • Data Frame • For-Loop • Writing your functions Chapter 3: R for Data Science • Using External Data • Exploratory Data Analysis (EDA) • Predictive Modelling  Linear Regression  Classification  Clustering
  • 16. RCommanderBasics in R in a non-programming way
  • 17. R Commanders • Enables analysts to access a selection of commonly-used R commands. • Serves the important role of helping users to implement R commands and develop their knowledge and expertise in using the command line. • Comes with a number of plugins available that provide direct access to R packages.
  • 18. The Complete Menu Trees: Rcmdr (i)
  • 19. The Complete Menu Trees: Rcmdr (ii)
  • 20. The Complete Menu Trees: Rcmdr (iii)
  • 21. The Complete Menu Trees: Rcmdr (iv)
  • 22. Comparing the statistical capabilities of software packages • A statistical consultant known only as "Stanford PhD" has put together a table comparing the statistical capabilities of the software packages R, Matlab, SAS, Stata and SPSS.
  • 23. Comparing the statistical capabilities of software packages • For each of 57 methods (including techniques like "ridge regression", "survival analysis", "optimization") the author ranks the capabilities of each software package as "Yes" (fully supported), "Limited" or "Experimental". • R and Matlab capabilities outperform those of SAS, STATA, and SPSS. • Python, to the best of my knowledge, is not rich in statistical testing functions, so it lies somewhere between R and SAS. R 57 Matlab 57 SAS 42 Stata 29 SPSS 20
  • 24. Should economists learn programming? Of course! As Keynes said: "The master-economist must possess a rare combination of gifts .... He must be mathematician, historian, statesman, programmer, philosopher -- in some degree. He must understand symbols, write code, and speak in words. He must contemplate the particular, in terms of the general, and touch abstract and concrete in the same flight of thought. He must study the present in the light of the past for the purposes of the future. He must be able to speak a common language with a computer scientist, a physicist and a sociologist. No part of man's nature or his institutions must be entirely outside his regard. He must be purposeful and disinterested in a simultaneous mood, as aloof and incorruptible as an artist, yet sometimes as near to earth as a politician.” --- Alex Teytelboym, Research Fellow in Economics at INET, University of Oxford
  • 25. Why Coding? (I) • As a social science student at LSE, managing, analyzing, and playing with data is an important part of your work. (charts, curves, and trends etc.) • Without programming skills, your work becomes more limited. • Are you always relying upon manual calculations? • Are you hand-collecting the data when you can write the code to easily retrieve data? • Are you working with big data? Do you think excel will solve all data problems? • With code, you can increase multiply by a huge factor the amount of work or calculations you can perform, read millions of rows of data, try and find patterns or relations, compare oil prices to Reddit traffic, or the natality rate to the average interest earned by investors in Wyoming; whatever you can think of in a matter of minutes or hours and unleash your imagination.
  • 26. Why Coding? (II) • Many experimental data requires you pull, clean and manipulate large sets of available and incoming data to run experiments based on some economic question you're testing. • If you can write code to do these tasks quickly and efficiently, you can iterate quickly through a lot more hypotheses you might want to test. • The cutting edge of economic research uses novel datasets and combines both theory and empirics. • Everyone in this room has different expectations of what they want to be able to do with data. In social science, analytics is very important, while computer programming with C++, Java, and similar languages are hardly necessary.
  • 27. Everybody in this country should learn to program a computer… because it teaches you how to think - Steve Jobs, Co-Founder and CEO of Apple Inc. (1995 -2011)
  • 28. R QuintessenceThe most disastrous thing that you can ever learn is your first programming language – Alan Kay
  • 29. R Arithmetic and Logical Operators
  • 30. Hey! Note that R is case sensitive!
  • 31. R Basic Data Types • Numeric • Integer • Complex • Logical • Character Constants, variables and data types – BBC BiteSize Programming Course GCSE
  • 32. R Data Structures (I) Figure: R Data Structures (AmazonS3 Website)
  • 35. What are “Loops”? • “Looping”, “cycling”, “iterating” or just replicating instructions is an old practice that originated well before the invention of computers. It is nothing more than automating a multi-step process by organizing sequences of actions or ‘batch’ processes and by grouping the parts that need to be repeated. • All modern programming languages provide special constructs that allow for the repetition of instructions or blocks of instructions. • Broadly speaking, there are two types of these special constructs or loops in modern programming languages. Some loops execute for a prescribed number of times, as controlled by a counter or an index, incremented at each iteration cycle. These are part of the for loop family. • On the other hand, some loops are based on the onset and verification of a logical condition. The condition is tested at the start or the end of the loop construct. These variants belong to the while or repeat family of loops, respectively.
  • 36. Looping in R Figure: a Tutorial on Loops in R (DataCamp)
  • 37. Functions (I) • Functions are used to logically break our code into simpler parts which become easy to maintain and understand. • It's pretty straightforward to create your own function in R programming.
  • 38. Functions (II) • Conceptually, given some inputs of x, we perform some computation to get the new output. • Some commonly known functions are mean, median, square root and summation etc.
  • 39. Functions (III) • Fortunately, R provides some built-in functions that are widely used in mathematics and statistics:
  • 41. Functions (V) • Writing functions should spring to your mind when you want to write your own chunk of codes and automate codes easily. • Creating your own functions begs some imagination and efficient coding skill. • Please revisit the workshop file for example in action! • Peace of mind: a vast community of R developers around the world collaborates in providing R useful packages, which saves us a lot of time and effort. • As you progress in data analysis with R, finding the right packages may provide a shortcut for your research project.
  • 43. Top 10 R Packages
  • 44. Packages are collections of R functions, data, and compiled code in a well-defined format. The directory where packages are stored is called the library. - Quick-R
  • 45. R for Data ScienceWithout data, you’re just another person with an opinion
  • 46. How to Import the Data Importing your data into R – R Tutorials by R-Bloggers
  • 47. “The simple graph has brought more information to the data analyst’s mind than any other device.” - John Tukey
  • 48. R for Data Science: Data Visualization • R has several systems for making graphs, but ggplot2 is one of the most elegant and most versatile. ggplot2 implements the grammar of graphics, a coherent system for describing and building graphs. With ggplot2, you can do more faster by learning one system and applying it in many places. • If you’d like to learn more about the theoretical underpinnings of ggplot2 before you start, I’d recommend reading “The Layered Grammar of Graphics”, http://vita.had.co.nz/papers/layered- grammar.pdf.
  • 49. Examples of R Visualizations (I)
  • 51. Examples of R Visualizations (III)
  • 54. Storytelling with data – a data visualization guide for business professionals
  • 55. Simple Framework of Machine Learning
  • 65. R Studio Tips and Tricks
  • 66. R Studio Tips and Tricks These are not exactly coding tricks, but rather ways to make your life easier using key commands. • The up arrow on your keyboard will allow you to scroll up through your past commands • The tab key on your keyboard will help you (particularly in RStudio) by offering ways to finish your code. • When working within a .R or .Rmd file, you can put your cursor on a line and hit Cntrl + Enter to get the code to execute in the Console. (On a mac, Command + Enter.) • If you get stuck with some syntax (usually, mismatched parentheses or quotes), the R Console will change from the > at the beginning of the line (which means it is waiting for a new command) to the + at the beginning of the line (which means it is waiting for you to finish a command). To get out, hit the Escape key.
  • 67. Tearable Panes Tearable panes are anything but terrible. This feature allows users to tear off data view panes and source panes facilitating the use of multiple screens.
  • 68. Command History In the console it is possible to scroll through the command history by clicking Ctrl/Cmd and ↑. The command history will be filtered as code is typed into the console:
  • 69. History Pane The history pane shows a searchable list of commands that have been run. Commands can be written to the source pane or the console. No more copy and paste from the console to a script!
  • 70. Rename in Scope This feature makes it easy to rename all instances of a variable. The tool is context aware; changing ‘m’ to ‘m1’ won’t change ‘mtcars’ to ‘m1tcars’.
  • 71. Gallery and Satellite View in Notebooks A new feature built into R Notebooks, a code chunk that produces multiple plots will produce a gallery. The plots can be viewed by toggling between thumbnails. The gallery can be expanded into a new satellite window for closer inspection.
  • 72. Code Outline Save time scrolling with the code outline. This feature works for R Notebooks and traditional R scripts. In R Notebooks sections are delimited by the R Markdown headers. In R scripts sections are delimited by section comments (Try Code -> Insert Section).
  • 73. Code Snippets Code snippets are a shortcut to insert common boilerplate code. For instance, type fun and then Tab to insert the skeleton code for a function definition. Then hit Tab to replace the necessary components. In addition to a rich set of defaults, custom code snippets can also be created.
  • 74. File Navigation Many people know of RStudio’s rich set of tab complete options for functions and function arguments. Tab complete can also help find files and remove the hassle of writing out long path locations. Hit tab in between two double quotes (“ “) to open a file explorer.
  • 75. Jump To Function Definition Want to dig into the innards of a function? With the cursor on a function press F2 to jump to the function definition, even for functions in a package.
  • 76. Thanks! ANY QUESTIONS? You can find me at @Korkrid Ake datasciencesoc@lsesu.org
  • 77. Further Resources R Language  Advanced R: http://adv-r.had.co.nz/  Bioconductor: https://www.bioconductor.org/  CRANberries: http://dirk.eddelbuettel.com/cranberries/  MRAN: https://mran.revolutionanalytics.com/  rOpenSci: https://ropensci.org/  R Project: https://www.r-project.org/  The R Journal: https://journal.r-project.org/ R Community  R Consortium: https://www.r-consortium.org/  R Weekly: https://rweekly.org/ Data Sciences  Apache Hadoop: http://hadoop.apache.org/  KDnuggets: http://www.kdnuggets.com/  R for Data Science: http://r4ds.had.co.nz/  sparklyr: http://spark.rstudio.com/  SparkR: https://spark.apache.org/docs/latest/sparkr.h tml  Tessera: http://tessera.io/
  • 78. Further Resources Blogs  RStudio Blog: https://blog.rstudio.org/  BLOGR: https://drsimonj.svbtle.com/  Mad (Data) Scientist: https://matloff.wordpress.com/  R Bloggers: https://www.r-bloggers.com/  R Consortium Blog: https://www.r- consortium.org/news/blog  Revolutions Blog: http://blog.revolutionanalytics.com  rOpenSci Blog: https://ropensci.org/blog/  Simply Statistics: http://simplystatistics.org/  Statistical Modeling, Causal Inference, and Social Science: http://andrewgelman.com/  StatsBlogs: http://www.statsblogs.com/  Win-Vector Blog: http://www.win-vector.com/blog/ Statistics  Journal of Statistical Software: https://www.jstatsoft.org/index  Forecasting: principles and practice: https://www.otexts.org/fpp  From Algorithms to Z-Scores: http://heather.cs.ucdavis.edu/~matloff/132/PLN/P robStatBookW16ECS132.pdf  Statistical Foundations of Machine Learning: https://www.otexts.org/book/sfml  The Elements of Statistical Learning: http://statweb.stanford.edu/~tibs/ElemStatLearn/p rintings/ESLII_print10.pdf
  • 80. Udemy R Courses • Another company is Udemy. While they do not offer video + interactive sessions like DataCamp • They do offer extensive video lessons, covering some other topics in using R and learning statistics. • The Comprehensive Programming in R Course (25 Hours of video) • Graphs in R (ggplot2, plotrix, base R) – Data Visualization with R Programming Language (5 Hours of video) • Linear Mixed-Effects Models with R (11 Hours of video) • Multivariate Data Visualization with R (7 Hours of video) • Applied Multivariate Analysis with R (13 Hours of video) • More Data Mining with R (11 Hours of video) • Text Mining, Scraping and Sentiment Analysis with R (4 Hours of video) • R Programming for Simulation and Monte Carlo Methods (12 Hours of video) • Programming Statistical Applications in R (12 Hours of video) • Comprehensive Linear Modeling with R (15 Hours of video) • Bayesian Computational Analyses with R (12 Hours of video) • Time Series Analysis and Forecasting in R (3 Hours of video)