R Tutorial
Fundamentals of R
Variables
Input and Output
Decision Making
Control Flow
Functions
Strings
Vectors
Lists
Arrays
Matrices
Factors
DataFrames
Object Oriented Programming
Error Handling
File Handling
Packages in R
Data Interfaces
Data Visualization
Statistics
Machine Learning with R
The tidyverse
is a collection of R packages designed for data science. All packages share an underlying philosophy and common APIs. The main packages included in the tidyverse
are:
ggplot2
- Data visualization.dplyr
- Data manipulation.tidyr
- Data tidying.readr
- Data import.purrr
- Functional programming.tibble
- Tidy data structure.stringr
- String manipulation.forcats
- Factor manipulation.Let's go through a quick tutorial for some of these packages:
install.packages("tidyverse") library(tidyverse)
select()
:starwars %>% select(name, height, species)
filter()
:starwars %>% filter(species == "Droid")
arrange()
:starwars %>% arrange(desc(height))
mutate()
:starwars %>% mutate(height_in_meters = height / 100)
summarise()
:starwars %>% group_by(species) %>% summarise(avg_mass = mean(mass, na.rm = TRUE))
data <- tibble(x = 1, y = 2, z = 3) data %>% gather("key", "value")
data <- tibble(key = c("x", "y", "z"), value = c(1, 2, 3)) data %>% spread(key, value)
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy))
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy, color = class)) + geom_smooth(mapping = aes(x = displ, y = hwy))
To read in a CSV file:
data <- read_csv("path_to_file.csv")
str_length("Hello, World!")
str_replace("I like cats.", "cats", "dogs")
list(1, 2, 3) %>% map(~ .x * 2)
Core Packages of Tidyverse in R:
# Example: Loading Tidyverse core packages library(tidyverse)
R Packages Included in Tidyverse:
# Example: List of Tidyverse packages tidyverse_packages <- c("dplyr", "ggplot2", "tidyr", "readr", "purrr", "stringr", "forcats", ...)
dplyr Package in Tidyverse:
# Example: Using dplyr functions my_data %>% filter(condition) %>% group_by(variable) %>% summarise(mean_value = mean(value))
ggplot2 Package in Tidyverse:
# Example: Creating a ggplot2 plot ggplot(data = my_data, aes(x = x_variable, y = y_variable)) + geom_point() + labs(title = "My Plot")
Tibble and tidyr in Tidyverse:
# Example: Using Tibble and tidyr my_tibble <- as_tibble(my_data) tidied_data <- gather(my_data, key = "variable", value = "value", -id_column)
Stringr and forcats in Tidyverse:
# Example: Using Stringr and forcats modified_string <- str_replace(my_string, pattern, replacement) my_data$factor_variable <- fct_relevel(my_data$factor_variable, "desired_level")
Working with Factors in Tidyverse:
# Example: Working with factors in Tidyverse my_data$factor_variable <- fct_explicit_na(my_data$factor_variable, na_level = "NA")
Tidyverse Data Manipulation in R:
# Example: Tidyverse data manipulation my_data %>% filter(condition) %>% select(columns) %>% mutate(new_variable = transform_function(existing_variable))
Tidyverse Data Visualization in R:
# Example: Tidyverse data visualization my_data %>% ggplot(aes(x = x_variable, y = y_variable)) + geom_point() + facet_wrap(~facet_variable)
R purrr Package in Tidyverse:
# Example: Using purrr functions my_list %>% map(function)
Tidyverse readr for Data Import in R:
# Example: Using readr for data import my_data <- read_csv("my_data.csv")
Combining Tidyverse Packages for Data Analysis in R:
# Example: Comprehensive Tidyverse data analysis my_data %>% filter(condition) %>% ggplot(aes(x = x_variable, y = y_variable)) + geom_point() + labs(title = "Analyzing My Data")