**If you have decided to learn R as your data science programming language, you have made an excellent decision!**

R is the most widely used tool for statistical programming. It is powerful, versatile and easy to use. It is the first choice for thousands of data analysts working in both companies and academia. This course will help you master the basics of R in a short time, as a first step to become a skilled R data scientist.

The course is meant for absolute beginners, so you don’t have to know anything about R before starting. (You don’t even have to have the R program on your computer; I will show you how to install it.) But after graduating this course you will have the most important R programming skills – and you will be able to further develop these skills, by practicing, starting from what you will have learned in the course.

This course contains about 100 video lectures in nine sections.

In the first section of this course you will **get started** with R: you will install the program (in case you didn’t do it already), you will familiarize with the working interface in R Studio and you will learn some basic technical stuff like installing and activating packages or setting the working directory. Moreover, you will learn how to perform simple operations in R and how to work with variables.

The next five sections will be dedicated to the five types of **data structures** in R: vectors, matrices, lists, factors and data frames. So you’ll learn how to manipulate data structures: how to index them, how to edit data, how to filter data according to various criteria, how to create and modify objects (or variables), how to apply functions to data and much more. These are very important topics, because R is a software for statistical computing and most of the R programming is about manipulating data. So before getting to more advanced statistical analyses in R you must know the basic techniques of data handling.

After finishing with the data structures we’ll get to the **programming structures** in R. In this section you’ll learn about loops, conditional statements and functions. You’ll learn how to combine loops and conditional statements to perform complex tasks, and how to create custom functions that you can save and reuse later. We will also study some practical examples of functions.

The next section is about **working with strings**. Here we will cover the most useful functions that allow us to manipulate strings. So you will learn how to format strings for printing, how to concatenate strings, how to extract substrings from a given string and especially how to create regular expressions that identify patterns in strings.

In the following section you’ll learn how to **build charts** in R. We are going to cover seven types of charts: dot chart (scatterplot), line chart, bar chart, pie chart, histogram, density line and boxplot. Moreover, you will learn how to plot a function of one variable and how to export the charts you create.

Every command and function is visually explained: you can see the output live. At the end of each section you will find a PDF file with practical exercises that allow you to apply and strengthen your knowledge.

So if you want to learn R from scratch, you need this course. **Enroll right now and begin a fantastic R programming journey!**

### Introduction

What we are going to cover in this course.

### Getting Started with R

How to download and install R and RStudio.

The RStudio work interface, explained in detail.

How to work with packages in R - you will need that.

How to setup the working directory in R, so you can access the files in that directory.

How to perform the basic mathematical operations in R.

The basic stuff about variables in R.

### Vectors

How to use the c() function - one of the most common ways to create vectors.

Build sequences of integers with the colon operator.

Create vectors of replicated values with the rep() function.

Create sequences of real numbers with the seq() function.

Build vectors of discrete and continuous random numbers.

Create vectors with no elements.

How to access vector components using numeric indices.

How to access vector components using logical indices.

How to name vector components - and remove names when you don't need them.

How to access the vector components using various criteria.

Use these two function to check whether the vector components meet your conditions.

Besides sum and product, you will learn how to compute basic statistical indicators for a numeric vector.

One of the most important topics in R: how to apply mathematical operations to all the components in a vector.

How to deal with unknown values in a vector.

How to order vector components.

How to get the minimum and maximum values in vectors and pairs of vectors.

A great way to use the if-then-else statement on a vector.

Useful operations with vectors - and something about recycling vectors.

How to check whether two vectors have equal components or not.

Compute the Pearson correlation for two numeric vectors.

How to perform statistical analyses in R like an expert.

Practical exercises for the section "Vectors".

### Matrices and Arrays

The most used way to create matrices - the matrix() function.

Other two useful functions for creating matrices.

How to name rows and columns in a matrix.

How to access matrix elements.

How to find the elements that meet one or several conditions.

How to change any data value in a matrix.

How to add new rows or columns, and how to remove rows and columns.

Find the minimum and maximum values in a matrix.

Using the apply() function to perform mathematical operations on the matrix rows and columns.

Some more important stuff about the apply() function.

Apply the swipe() function to matrices.

How to add and multiply two matrices (when these operations are possible).

How to compute the determinant and the inverse of a quadratic matrix - and a couple more operations.

How to build an array with two (or more) matrices.

How to access any element (or group of elements) in an array.

Practical exercises for the section "Matrices and Arrays".

### Lists

What is a list and how to use the list() function to create one.

Other way to create a list - the vector() function.

How to access list elements.

Other possible way to access list elements.

How to modify values (or entire objects) in a list.

How to add objects to a list, or remove existing objects.

When and how you can use the lapply() function on a list.

Use what you know about lists to "read" the results of a linear regression analysis.

Learn to perform simple and advanced data analyses in R.

Practical exercises for the section "Lists".

### Factors

How to create unordered and ordered factors.

How to split a vector in several objects using the levels of a factor.

How to compute summary values for a vector components by a factor level with the tapply() function.

How to compute summary values for a vector components by a factor level, this time using the by() function.

Practical exercises for the section "Factors".

### Data Frames

How to create data frames using the data.frame() function.

How to read data frames from the files on your hard disk (CSV or text format).

How to save a data frame on your hard disk as a CSV file.

.The first way to index a data frame.

The second way to index a data frame.

How to draw a random sample of observation form any data frame.

Find the rows in a data frame that meet certain criteria.

Modify values in data frames.

Adding new observations and variables to an existing data frame.

Naming (and renaming) observations and variables in a data frame.

Using the functions apply(), lapply() and sapply() with data frames.

Arrange the data frame entries in any order you want.

Arrange the data frame entries in a random order.

Join two data frames based on a common variable.

Practical exercises for the section "Data Frames".

### Programming Structures

Use the for loops to go through a sequence and perform various operations.

Learn how to work with a while loop.

Learn how to use a repeat loop.

Get more serious - build a few nested for loops.

More complex if-else statements.

Combining for loops and conditional statements to perform really useful tasks.

Create custom functions that you can reuse later.

Why is the return command useful often times.

Using nested loops and conditional statements in a function.

A function that checks whether a positive whole number is a perfect square or not.

A function that solves any quadratic equation.

How to create custom binary operations using functions.

Practical exercises for the section "Programming Structures".

### Working With Strings

Various ways to create string variables.

Useful functions to print and format string variables.