# An Introduction to R Programing

## Time & Location

## About the Course

R is an open-source programming language used for statistical computing, data analysis, and graphics. It’s used by a growing number of business and data analysts, statisticians, engineers, and scientists. This is because it’s a language that many nonprogrammers can easily work with, naturally extending a skill set that is common to high-end Excel users. It also has a wide variety of packages for data mining and for optimizing models. It's the perfect tool for when you have a statistical, numerical, or probabilities problems based on real data and you’ve pushed Excel past its limits.

**COURSE CONTENT**

**INTRODUCTION WHAT IS R**

• 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

**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

**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

**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

**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

**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

**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

**DATA VISUALIZATION IN R**

• Data Visualization

• Data Visualization in R

• 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

**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

- Course Participants$1,695+$220.35 HST$1,695+$220.35 HST0$0