Een slimme ggplot-twist

Programmeren met dplyr

Dr. Chester Ismay

Educator, Data Scientist, and R/Python Consultant

ggplot2-basics

library(ggplot2)
ggplot(
    world_bank_data, 
    aes(x = infant_mortality_rate)
) +

geom_histogram(color = "white")

Histogram van infant_mortality_rate

Programmeren met dplyr

Een titel toevoegen

ggplot(
    world_bank_data, 
    aes(x = infant_mortality_rate)
) + 
  geom_histogram(color = "white") +

ggtitle("A histogram of infant_mortality_rate")

ggplot2 met titel

Programmeren met dplyr

Verpakken in een functie

# Vorige plotcode
ggplot(world_bank_data, aes(x = infant_mortality_rate)) + 
  geom_histogram(color = "white") +
  ggtitle("A histogram of infant_mortality_rate")
# Definieer een functie
my_histogram <- function(

df, x_var) {
ggplot(df, aes(x = x_var)) + geom_histogram(color = "white") + ggtitle(paste("A histogram of", x_var)) }
Programmeren met dplyr

Werken aan onze functie

# Eerste poging voor een functie
my_histogram <- function(df, x_var) {
  ggplot(df, aes(x = x_var)) +
    geom_histogram(color = "white") +
    ggtitle(paste("A histogram of", x_var))
}

# Functie aanroepen my_histogram(df = world_bank_data, x_var = infant_mortality_rate)
 Error in paste("A histogram of", x_var) : 
  object 'infant_mortality_rate' not found
Programmeren met dplyr

rlang toevoegen

# Eerste poging voor een functie
my_histogram <- function(df, x_var) {
  ggplot(df, aes(x = x_var)) +
    geom_histogram(color = "white") +
    ggtitle(paste("A histogram of", x_var))
}
# Nodige aanpassingen om de fout te voorkomen
my_histogram <- function(df, x_var) {
  ggplot(df, aes(x = {{ x_var }})) +

geom_histogram(color = "white") + ggtitle(paste("A histogram of",
as_label(enquo(x_var))) }
Programmeren met dplyr

Onze functie gebruiken

# Functie gedefinieerd met rlang-operators
my_histogram <- function(df, x_var) {
  ggplot(df, aes(x = {{ x_var }})) +
    geom_histogram(color = "white") +
    ggtitle(paste(
      "A histogram of", 
      as_label(enquo(x_var))
    ))
}

# Functie aanroepen met de pipe! world_bank_data %>% my_histogram(x_var = perc_rural_pop)

ggplot2 met rlang-histogram

Programmeren met dplyr

Laten we oefenen!

Programmeren met dplyr

Preparing Video For Download...