Introduction to R

3,943 students enrolled

Learn the core fundamentals of the R language for interactive use as well as programming

3,943 students enrolled

What Will I Learn?

- 90 videos (15+ hours)
- To educate you on the fundamentals of R
- 140+ exercise problems
- To accelerate your learning of R through practice

Requirements

- Windows/Mac/Linux
- Basic proficiency in math - vectors, matrices, algebra
- Basic proficiency in statistics - probability distributions, linear modeling, etc
- A high speed internet connection

Description

With "**Introduction to R**", you will gain a solid grounding of the fundamentals of the R language!

This course has about **90 videos** and **140+ exercise questions**, over 10 chapters. To begin with, you will learn to **Download and Install R** (and R studio) on your computer. Then I show you some basic things in your first R session.

From there, you will review topics in increasing order of difficulty, starting with **Data/Object Types** and **Operations**, **Importing into R**, and **Loops and Conditions**.

Next, you will be introduced to the use of **R **in** Analytics**, where you will learn a little about each object type in R and use that in Data Mining/Analytical Operations.

After that, you will learn the use of R in **Statistics**, where you will see about using R to evaluate Descriptive Statistics, Probability Distributions, Hypothesis Testing, Linear Modeling, Generalized Linear Models, Non-Linear Regression, and Trees.

Following that, the next topic will be **Graphics**, where you will learn to create 2-dimensional Univariate and Multi-variate plots. You will also learn about formatting various parts of a plot, covering a range of topics like Plot Layout, Region, Points, Lines, Axes, Text, Color and so on.

At that point, the course finishes off with two topics: **Exporting out of R**, and **Creating Functions**.

Each chapter is designed to teach you several concepts, and these have been grouped into sub-sections. A sub-section usually has the following:

- A Concept Video
- An Exercise Sheet
- An Exercise Video (with answers)

**Why take a course to learn R?**

When I look to advancing my R knowledge today, I still face the same sort of situation as when I originally started to use R. Back when I was learning R, my approach was learn by doing. There was a lot of free material out there (and I refer to that early in the course) that gave me a framework, but the wording was highly technical in nature. Even with the R help and the free material, it took me up to a couple of months of experimentation to gain a certain level of proficiency. **What I would have liked at that time was a way to learn the fundamentals quicker**. I have designed this course with exactly that in mind.

**Why my course?**

For those of you that are new to R, this course will cover **enough breadth/depth in R** to give you a solid grounding. I use **simple language** to explain the concepts. Also, I give you 140+ exercise questions many of which are based on **real world data** for practice to get you up and running quickly, all in a single package. This course is designed to get you functional with R in **little over a week**.

For those beginners with some experience that have learnt R through experimentation, this course is designed to complement what you know, and round out your understanding of the same.

Who is the target audience?

- Enterprise Data Analysts
- Students
- Anyone interested in Data Mining, Statistics, Data Visualization

Compare to Other R Courses

Curriculum For This Course

103 Lectures

14:51:45
+
–

Getting Started
3 Lectures
17:31

Hi everyone! Welcome to my course on R fundamentals. We start slow in Chapters 2 to 4 with some basics, pick up steam in Chapter 5 - 8, and cool down in Chapters 9, 10. Lots of material coming your way. Pace yourselves...or not!

Preview
13:40

In this lecture, a brief outline of the course website is provided, showing you how to navigate through the course and the curriculum.

Preview
03:51

Section 1: Material

7 pages

+
–

Your first R Session
10 Lectures
44:32

In Section 2, you will be introduced to the R software and will install and work with it for the first time. In this video, you will find instructions on downloading/installing R, as well as simple navigation, accessing help etc.

Preview
09:17

In this video, you will find answers to exercise questions on "Finding your way around R".

Preview
02:44

This lecture gets you started with using R by discussing basic commands such as assignment, case sensitivity, comments etc

Preview
08:07

In this video, you will find answers to exercise questions on "Basic Commands".

Preview
02:40

In this lecture, you will be introduced to operators in R - Arithmetic and Logical.

Operators

04:36

In this video, you will find answers to exercise questions on "Operators".

Exercise Answers - Operators

02:08

This lecture deals with different items, including

- finding and removing objects
- infinite, missing and indefinite values
- working with packages, and
- R preferences

Miscellaneous

09:22

In this video, you will find answers to exercise questions on "Miscellaneous".

Exercise Answers - Miscellaneous

02:07

This lecture provides you a brief intro of the R Studio IDE.

Intro to R Studio

03:31

Section 2: Material

15 pages

+
–

Basics - Objects and Data Types
13 Lectures
01:32:44

In Section 3, you will be introduced to Object/Data types in R. In this lecture, you will review different Data Types supported in R, including integer, double, complex, logical, date and character. You will also see about working with Data Types

Data Types

12:05

In this video, you will find answers to exercise questions on "Data Types".

Exercise Answers - Data Types

03:41

In this lecture, you will be introduced to Object types in R, including vectors, arrays, matrices, factors, lists, data frames and tables. You will learn about attributes of an object - intrinsic and non-intrinsic. You will be introduced to the class of an object.

Object Types

15:44

In this video, you will find answers to exercise questions on "Object Types".

Exercise Answers - Object Types

01:30

This lecture focusses on Vectors. You will learn to create a numeric vector, and perform arithmetic and mathematical operations. You will learn to replicate a vector, and create sequences. Finally you will see about logical and character vectors.

Vectors

11:19

In this video, you will find answers to exercise questions on "Vectors".

Exercise Answers - Vectors

01:43

This lecture focusses on Arrays and Matrices. You will learn about creation, subsections, and operations on Arrays and Matrices. You will review transposing. Then you will see some special operations that are matrix-specific.

Arrays and Matrices

14:50

In this video, you will find answers to exercise questions on "Arrays and Matrices".

Exercise Answers - Arrays and Matrices

02:58

This lecture focusses on Factors, where you will learn about creation, levels and ordering a factor. It also focusses on Lists, where you will see about list values, names, and modifying a list.

Factors and Lists

07:17

In this video, you will find answers to exercise questions on "Factors and Lists".

Exercise Answers - Factors and Lists

06:34

This lecture focusses on Data Frames where you will learn about creation, referencing, and working with data frames. It also deals with Tables, where you will see about creation, and the underlying *tabulate*() function.

Data Frames and Tables

09:49

In this video, you will find answers to exercise questions on "".

Exercise Answers - Data Frames and Tables

05:14

Section 3: Material

33 pages

+
–

Importing Data into R
5 Lectures
20:44

In Section 4, you will learn about Importing into R. In this lecture, you learn about importing text files as a data frame, and then as a vector.

Text Files

12:21

In this video, you will find answers to exercise questions on "Importing Text Files".

Exercise Answers - Text Files

01:31

In this lecture, you will learn about importing data in an Excel file into R as a data frame. As part of the exercise, an Excel file "phones.xls" has been provided to you.

Spreadsheets - Excel Files

04:25

In this video, you will find answers to exercise questions on "Importing Excel Files".

Exercise Answers - Excel Files

02:27

Section 4: Material

8 pages

+
–

Data Mining/Manipulation
15 Lectures
01:49:53

Section 5 is your first "heavy" section; it covers data mining/manipulation by object Type. In the first lecture, you will start with Vectors - subscripts, ordering, statistics, applying functions, subdivision and sampling.

Vector Operations

14:26

In this video, you will find answers to exercise questions on "Vector Operations".

Exercise Answers - Vector Operations

03:12

This lecture focusses on Array Operations: subscripts, Outer Product, and applying functions.

Array Operations

10:49

In this video, you will find answers to exercise questions on "Array Operations".

Exercise Answers - Array Operations

03:14

This lecture deals with Matrix Operations: Subscripts, diagonal matrix, Matrix multiplication, cross product, inverse of a matrix, solving linear equations, and least squares regression.

Matrix Operations

11:53

In this video, you will find answers to exercise questions on "Matrix Operations".

Exercise Answers - Matrix Operations

03:30

In this lecture, you will learn about Data Frame Operations: accessing a subset, adding rows/columns, combining data frames, obtaining summaries, and modifying the data frame.

Data Frame Operations

14:05

In this video, you will find answers to exercise questions on "Data Frame Operations".

Exercise Answers - Data Frame Operations

03:49

This lecture introduces you to Factor Operations: summarizing data at different levels of a factor, creating a factor out of numeric data, generating a factor out of patterns, re-ordering levels based on data, and *unclass*().

Factor Operations

11:12

In this video, you will find answers to exercise questions on "Factor Operations".

Exercise Answers - Factor Operations

03:32

This lecture deals with Text Operations: length, parts of a string, Concatenation, Pattern recognition/replacement.

Operations on Text

11:47

In this video, you will find answers to exercise questions on "Operations on Text".

Exercise Answers - Operations on Text

02:42

This lecture deals with Operations on Dates: creation, formatting, arithmetic, System date/time, POSIX time, and some built in date constants

Operations on Dates

12:19

In this video, you will find answers to exercise questions on "Date Operations".

Exercise Answers - Operations on Dates

03:23

Section 5: Material

41 pages

+
–

Loops and Conditions
2 Lectures
07:35

This Section introduces Loops and Conditions, where you will learn about conditional statements: If-then, While and Repeat. You will also see about the For Loop. The contents of this section apply in Section 10 where you will learn about Functions. There is no Exercise in this Section; you will practice Loops/Conditions in Section 10.

Loops and Conditions

07:35

Section 6: Material

5 pages

+
–

Statistics
20 Lectures
01:48:33

Section 7 deals with the use of R in **Statistics**, where you will see about using R to evaluate Descriptive Statistics, Probability Distributions, Hypothesis Testing, Linear Modeling, Generalized Linear Models, Non-Linear Regression, and Trees. In this lecture, you will focus on Descriptive Statistics, including Mean, Quantile, MAD, Variance, Range, Covariance and Correlation.

Descriptive Statistics

06:58

In this video, you will find answers to exercise questions on "Descriptive Statistics".

Exercise Answers - Descriptive Statistics

03:28

In this lecture, you will focus on Probability Distributions, where you will learn about working with the PDF, CDF, quantile function and generating a random sample, for a variety of Probability Distributions including Normal, T, Binomial, Uniform, Exponential, etc

Probability Distributions

10:52

In this video, you will find answers to exercise questions on "Probability Distributions".

Exercise Answers - Probability Distributions

01:26

In this lecture, you will focus in on Hypothesis Testing: One and Two Sample T-tests, where you will learn about One and Two Sided Tests.

Hypothesis Testing - One and Two Sample T-tests

12:28

In this video, you will find answers to exercise questions on "Hypothesis Testing - One and Two Sample Tests".

Exercise Answers - Hypothesis Testing - One and Two Sample T-tests

03:21

In this lecture, you will focus on the KS-test to determine whether two samples are statistically similar. You will also learn about the F-test that tests two samples based on their variance.

Hypothesis Testing - KS-test and F-test

06:11

In this video, you will find answers to exercise questions on "Hypothesis Testing - KS-test and F-test".

Exercise Answers - Hypothesis Testing - KS-test and F-test

01:37

This lecture deals with the creation of Formula Objects to be used in R linear models. It discusses the use of operators in a Formula and how they are different from their typical mathematical meaning.

Linear Modeling - Working with Formula Objects

08:24

In this video, you will find answers to exercise questions on "Linear Modeling - Working with Formula Objects".

Exercise Answers - Linear Modeling - Working with Formula Objects

01:52

In this lecture, you will learn how to use a formula object, and a data set to generate a linear model. Then you will see about mining the model, getting information out of it, and performing an ANOVA.

Linear Modeling - Generating a Linear Model

10:35

In this video, you will find answers to exercise questions on "Linear Modeling - Generating a Linear Model".

Exercise Answers - Linear Modeling - Generating a Linear Model

04:19

In this lecture, you will learn about updating a Linear Model: simulating the addition and deletion of model terms. You will also see about making a permanent change to the Model Formula.

Linear Modeling - Updating a Linear Model

04:30

In this video, you will find answers to exercise questions on "Linear Modeling - Updating a Linear Model".

Exercise Answers - Linear Modeling - Updating a Linear Model

01:36

In this lecture, you will review Generalized Linear Models, in situations where the response variable has a non-Normal Probability Distribution. You will learn about generating the model, mining it for information, and performing an ANOVA. The lecture will also show you how to generate a Logistic Regression model of Low Birth Weight data. The exercise that follows is based on the same Low Birth Weight data set; there will be no exercise video for the same.

Generalized Linear Models

08:00

In this lecture, you will learn about using R for Non-Linear Regression. You will see the creation of Formula Objects, as well as Model Generation. You will review how to mine the model.

Non-Linear Regression

08:09

In this video, you will find answers to exercise questions on "Non-Linear Regression".

Exercise Answers - Non Linear Regression

02:22

In this Lecture, you will learn how to generate a Tree Model out of data that has discrete classes in it. You will review how to fine-tune and control the tree structure.

Tree Models

08:15

In this video, you will find answers to exercise questions on "Tree Models".

Exercise Answers - Tree Models

04:10

Section 7: Material

71 pages

+
–

Graphics
22 Lectures
02:25:39

Section 8 deals in **Graphics**, where you will learn to create 2-dimensional Univariate and Multi-variate plots. You will also learn about formatting various parts of a plot, covering a range of topics like Plot Layout, Region, Points, Lines, Axes, Text, Color and so on. In this lecture, you will see about using function *plot*() to plot a vector, time-series object and a bar-plot for factor data. You will also see about using function *barplot*() to generate a bar plot.

Univariate Plots - I

14:01

In this video, you will find answers to exercise questions on "Univariate Plots - I".

Exercise Answers - Univariate Plots - I

03:52

In this lecture, you will review more Univariate plots: Piecharts, Histograms, Boxplots, Quantile-Quantile plots and the Kernel Density Estimation Plots.

Univariate Plots - II

13:24

In this video, you will find answers to exercise questions on "Univariate Plots - II".

Exercise Answers - Univariate Plots - II

02:30

The first lecture on Multi-variate plots deals mainly with Scatterplots. You will first learn to use function *plot*() to generate a scatter plot of two variables. Then you will use *plot*() to generate a matrix of scatterplots in the same figure - 3 different flavors. Next, you will see about using function *pairs*() to generate a matrix of scatterplots.

In this lecture, in addition, you will use *plot*() to generate multiple boxplots in the same figure. You will also learn about *qqplot*() to generate a quantile-quantile plot of two sample quantiles.

Multivariate Plots - I

14:32

In this video, you will find answers to exercise questions on "Multivariate Plots - I".

Exercise Answers - Multivariate Plots - I

04:25

In the second lecture on Multivariate Plots, you will learn to generate a Coplot, a Stars/Segment diagram, and a Cleveland Dot Plot.

Multivariate Plots - II

11:41

In this video, you will find answers to exercise questions on "Multivariate Plots - II".

Exercise Answers - Multivariate Plots - II

03:57

The remaining lectures in Section 8 focus on formatting a plot. You will start in this lecture with Points: using function *par*() to change the point type, adding Points, and identifying and labeling points on a plot through user input.

Formatting a Plot - Points

09:37

In this video, you will find answers to exercise questions on "Formatting a Plot - Points".

Exercise Answers - Formatting a Plot - Points

03:56

In this Lecture, you will learn to format Lines in a Plot - Line type, Line width. You will then learn to add lines through existing points, draw lines through the Plot, and finally to add segments/arrows to a Plot.

Formatting a Plot - Lines

09:02

In this video, you will find answers to exercise questions on "Formatting a Plot - Lines".

Exercise Answers - Formatting a Plot - Lines

02:38

In this Lecture, you will learn to format the plot region if it is a single Plot, and the Plot layout if it is a grid of plots. You will learn concepts such as Device Region, Figure Region, Plot Region, and Margins. The exercise in this lecture is a repeat of what you see in the concept video and as a result, there is no exercise video.

Formatting a Plot - Regions and Layout

12:57

In this Lecture, you will learn to format the axes of a plot, including box type, axis scale, and axis display. You will see about adding an axis to a plot.

Formatting a Plot - Axes

10:40

In this video, you will find answers to exercise questions on "Formatting a Plot - Axes".

Exercise Answers - Formatting a Plot - Axes

01:29

In this Lecture, you will see about formatting Text on a plot: Titles, Adding text, Margin Text, Text Position, Annotation, Text size, and Font/Style.

Formatting a Plot - Text

10:22

In this video, you will find answers to exercise questions on "Formatting a Plot - Text".

Exercise Answers - Formatting a Plot - Text

02:06

In this Lecture, you will learn about working with Plot Color: use of constants such as *color*(), *palette*() and adding contiguous colors from the spectrum. You will see about adding color to text, foreground and background of a plot.

Formatting a Plot - Color

06:09

In this video, you will find answers to exercise questions on "Formatting a Plot - Color".

Exercise Answers - Formatting a Plot - Color

02:06

Section 8 comes to a close with a discussion on miscellaneous items such as global vs. local changes to plot parameters. You will also learn how to add a polygon and shapes - circles, squares, rectangles etc - to a plot.

Miscellaneous

05:12

In this video, you will find answers to exercise questions on "Miscellaneous".

Exercise Answers - Miscellaneous

01:03

Section 8: Material

82 pages

+
–

Exporting Data out of R
5 Lectures
18:57

Section 9 deals with Exporting out of R - Text and Graphics. In this lecture, you will learn about exporting a vector. You will also see about exporting a data frame into a text file.

Text files

06:12

In this video, you will find answers to exercise questions on "Exporting Text Files".

Exercise Answers - Text Files

02:38

In this Lecture, you will learn about exporting Graphics: as a jpeg, and then as a pdf file.

Graphics

04:16

In this video, you will find answers to exercise questions on "Exporting Graphics".

Exercise Answers - Graphics

05:51

Section 9: Material

9 pages

+
–

Working with Functions
7 Lectures
36:33

Section 10 deals with creating and working with User Defined Functions. The concepts on Loops and Conditions from Section 6 apply here. In this Lecture, you will learn about creating a function and adding comments.

Creating Functions

05:25

In this video, you will find answers to exercise questions on "Creating Functions".

Exercise Answers - Creating Functions

02:07

This Lecture deals with Arguments of a Function: Optional arguments, the ... argument, Local vs. global, lexical scope, Function as an argument, and Lazy evaluation.

Arguments of a Function

14:38

In this video, you will find answers to exercise questions on "Arguments of a Function".

Exercise Answers - Arguments of a Function

02:59

This Lecture deals with Function concept such as multiple outputs, nesting functions and loops/conditions.

Others

06:42

In this video, you will find answers to exercise questions on "Others".

Exercise Answers - Others

04:42

Section 10: Material

17 pages

1 More Section

About the Instructor