
R Programming from the Ground Up Training (RPR111)
Course Length: 2 days
Delivery Methods:
                
    Available as private class only
  
Course Overview
This R Programming from the Ground Up training course helps students learn the practical aspects of the R programming language. The course is supplemented by many hands-on labs which allow attendees to immediately apply their theoretical knowledge in practice. This course is for Business Analysts, Technical Managers, and Programmers.
Course Benefits
- Gain an introduction to R programming.
 - Learn R data structures.
 - Learn to work with R functions.
 - Learn statistical data analysis with R.
 
Course Outline
- What is R
	
- What is R?
 - Positioning of R in the Data Science Space
 - The Legal Aspects
 - Microsoft R Open
 - R Integrated Development Environments
 - Running R
 - Running RStudio
 - Getting Help
 - General Notes on R Commands and Statements
 - Assignment Operators
 - R Core Data Structures
 - Assignment Example
 - R Objects and Workspace
 - Printing Objects
 - Arithmetic Operators
 - Logical Operators
 - System Date and Time
 - Operations
 - User-defined Functions
 - Control Statements
 - Conditional Execution
 - Repetitive Execution
 - Repetitive execution
 - Built-in Functions
 - Summary
 
 - Introduction to Functional Programming with R
	
- What is Functional Programming (FP)?
 - Terminology: Higher-Order Functions
 - A Short List of Languages that Support FP
 - Functional Programming in R
 - Vector and Matrix Arithmetic
 - Vector Arithmetic Example
 - More Examples of FP in R
 - Summary
 
 - Managing Your Environment
	
- Getting and Setting the Working Directory
 - Getting the List of Files in a Directory
 - The R Home Directory
 - Executing External R commands
 - Loading External Scripts in RStudio
 - Listing Objects in Workspace
 - Removing Objects in Workspace
 - Saving Your Workspace in R
 - Saving Your Workspace in RStudio
 - Saving Your Workspace in R GUI
 - Loading Your Workspace
 - Diverting Output to a File
 - Batch (Unattended) Processing
 - Controlling Global Options
 - Summary
 
 - R Type System and Structures
	
- The R Data Types
 - System Date and Time
 - Formatting Date and Time
 - Using the mode() Function
 - R Data Structures
 - What is the Type of My Data Structure?
 - Creating Vectors
 - Logical Vectors
 - Character Vectors
 - Factorization
 - Multi-Mode Vectors
 - The Length of the Vector
 - Getting Vector Elements
 - Lists
 - A List with Element Names
 - Extracting List Elements
 - Adding to a List
 - Matrix Data Structure
 - Creating Matrices
 - Creating Matrices with cbind() and rbind()
 - Working with Data Frames
 - Matrices vs Data Frames
 - A Data Frame Sample
 - Creating a Data Frame
 - Accessing Data Cells
 - Getting Info About a Data Frame
 - Selecting Columns in Data Frames
 - Selecting Rows in Data Frames
 - Getting a Subset of a Data Frame
 - Sorting (ordering) Data in Data Frames by Attribute(s)
 - Editing Data Frames
 - The str() Function
 - Type Conversion (Coercion)
 - The summary() Function
 - Checking an Object's Type
 - Summary
 
 - Extending R
	
- The Base R Packages
 - Loading Packages
 - What is the Difference between Package and Library?
 - Extending R
 - The CRAN Web Site
 - Extending R in R GUI
 - Extending R in RStudio
 - Installing and Removing Packages from Command-Line
 - Summary
 
 - Read-Write and Import-Export Operations in R
	
- Reading Data from a File into a Vector
 - Example of Reading Data from a File into A Vector
 - Writing Data to a File
 - Example of Writing Data to a File
 - Reading Data into A Data Frame
 - Writing CSV Files
 - Importing Data into R
 - Exporting Data from R
 - Summary
 
 - Statistical Computing Features in R
	
- Statistical Computing Features
 - Descriptive Statistics
 - Basic Statistical Functions
 - Examples of Using Basic Statistical Functions
 - Non-uniformity of a Probability Distribution
 - Writing Your Own skew and kurtosis Functions
 - Generating Normally Distributed Random Numbers
 - Generating Uniformly Distributed Random Numbers
 - Using the summary() Function
 - Math Functions Used in Data Analysis
 - Examples of Using Math Functions
 - Correlations
 - Correlation Example
 - Testing Correlation Coefficient for Significance
 - The cor.test() Function
 - The cor.test() Example
 - Regression Analysis
 - Types of Regression
 - Simple Linear Regression Model
 - Least-Squares Method (LSM)
 - LSM Assumptions
 - Fitting Linear Regression Models in R
 - Example of Using lm()
 - Confidence Intervals for Model Parameters
 - Example of Using lm() with a Data Frame
 - Regression Models in Excel
 - Multiple Regression Analysis
 - Summary
 
 - Data Manipulation and Transformation in R
	
- Applying Functions to Matrices and Data Frames
 - The apply() Function
 - Using apply()
 - Using apply() with a User-Defined Function
 - apply() Variants
 - Using tapply()
 - Adding a Column to a Data Frame
 - Dropping A Column in a Data Frame
 - The attach() and detach() Functions
 - Sampling
 - Using sample() for Generating Labels
 - Set Operations
 - Example of Using Set Operations
 - The dplyr Package
 - Object Masking (Shadowing) Considerations
 - Getting More Information on dplyr in RStudio
 - The search() or searchpaths() Functions
 - Handling Large Data Sets in R with the data.table Package
 - The fread() and fwrite() functions from the data.table Package
 - Using the Data Table Structure
 - Summary
 
 - Data Visualization in R
	
- Data Visualization
 - Data Visualization in R
 - The ggplot2 Data Visualization Package
 - Creating Bar Plots in R
 - Creating Horizontal Bar Plots
 - Using barplot() with Matrices
 - Using barplot() with Matrices Example
 - Customizing Plots
 - Histograms in R
 - Building Histograms with hist()
 - Example of using hist()
 - Pie Charts in R
 - Examples of using pie()
 - Generic X-Y Plotting
 - Examples of the plot() function
 - Dot Plots in R
 - Saving Your Work
 - Supported Export Options
 - Plots in RStudio
 - Saving a Plot as an Image
 - Summary
 
 - Using R Efficiently
	
- Object Memory Allocation Considerations
 - Garbage Collection
 - Finding Out About Loaded Packages
 - Using the conflicts() Function
 - Getting Information About the Object Source Package with the pryr Package
 - Using the where() Function from the pryr Package
 - Timing Your Code
 - Timing Your Code with system.time()
 - Timing Your Code with System.time()
 - Sleeping a Program
 - Handling Large Data Sets in R with the data.table Package
 - Passing System-Level Parameters to R
 - Summary
 
 
Class Materials
Each student will receive a comprehensive set of materials, including course notes and all the class examples.
Class Prerequisites
Experience in the following is required for this R Programming class:
- General knowledge of statistics and programming.
 
Live Private Class
- Private Class for your Team
 - Live training
 - Online or On-location
 - Customizable
 - Expert Instructors