Import your data

scooby <- read_excel("../00_data/MyData.xlsx")

Chapter 15

Create a factor

scooby %>% count(network)
## # A tibble: 11 × 2
##    network                  n
##    <chr>                <int>
##  1 ABC                    281
##  2 Adult Swim               1
##  3 Boomerang               74
##  4 CBS                     49
##  5 Cartoon Network         84
##  6 Syndication              3
##  7 TBC                      1
##  8 The CW                  27
##  9 The WB                  41
## 10 Warner Bros. Picture     3
## 11 Warner Home Video       39
network_levels <- c("ABC", "Cartoon Network", "Boomerang", "CBS", "The WB", "Warner Home Video", "The CW",  "Syndication", "Warner Bros. Picture", "Adult Swim", "TBC")

scooby_rev <- scooby %>%
    mutate(network = network %>% factor(levels = network_levels))

scooby_rev %>% count(network)
## # A tibble: 11 × 2
##    network                  n
##    <fct>                <int>
##  1 ABC                    281
##  2 Cartoon Network         84
##  3 Boomerang               74
##  4 CBS                     49
##  5 The WB                  41
##  6 Warner Home Video       39
##  7 The CW                  27
##  8 Syndication              3
##  9 Warner Bros. Picture     3
## 10 Adult Swim               1
## 11 TBC                      1

Modify factor order

Make two bar charts here - one before ordering another after

scooby_summary <- scooby %>%
    group_by(series_name) %>%
    summarise(
        imdb = mean(imdb, na.rm = TRUE)
    )

scooby_summary
## # A tibble: 29 × 2
##    series_name                      imdb
##    <chr>                           <dbl>
##  1 A Pup Named Scooby-Doo           7.35
##  2 Be Cool, Scooby-Doo!             7.43
##  3 Dynomutt, Dogwonder              6.8 
##  4 Hanna-Barbera Superstars 10      6.97
##  5 Harvey Birdman, Attorney at Law  8.1 
##  6 Johnny Bravo                     8.4 
##  7 Laff-a-Lympics                   6.66
##  8 Lego                             6.03
##  9 Night of the Living Doo          7.2 
## 10 OK K.O.!                         8.1 
## # ℹ 19 more rows
ggplot(scooby_summary, aes(imdb, series_name)) + geom_point()

ggplot(scooby_summary, aes(imdb, fct_reorder(series_name, imdb))) + geom_point()

Modify factor levels

Show examples of three functions:

  • fct_recode
scooby %>% 
    mutate(series_name = fct_recode(series_name,
                      "SN" = "Supernatural",
                      "JB" = "Johnny Bravo",
                      "MI" = "Scooby-Doo Mystery Incorporated",
                      "SD" = "Scooby Doo, Where Are You!",
                      "OK" = "OK K.O.!",
                      "AL" = "Harvey Birdman, Attorney at Law",
                      "GW" = "Scooby-Doo and Guess Who?",
                      "NM" = "The New Scooby-Doo Movies",
                      "SS" = "The Scooby-Doo Show",
                      "13" = "The 13 Ghosts of Scooby-Doo",
                      "S1" = "Scooby-Doo and Scrappy-Doo (first series)",
                      "BC" = "Be Cool, Scooby-Doo!",
                      "WN" = "What's New Scooby-Doo?",
                      "SP" = "The Scooby-Doo Project",
                      "AP" = "A Pup Named Scooby-Doo",
                      "NS" = "The New Scooby-Doo Mysteries",
                      "ND" = "The New Scooby and Scrappy Doo Show",
                      "LD" = "Night of the Living Doo",
                      "S2" = "Scooby-Doo and Scrappy-Doo (second series)",
                      "HB" = "Hanna-Barbera Superstars 10",
                      "DD" = "Dynomutt, Dogwonder",
                      "LL" = "Laff-a-Lympics",
                      "HV" = "Warner Home Video",
                      "TT" = "Teen Titans",
                      "GH" = "Scooby Goes Hollywood",
                      "LG" = "Lego",
                      "TV" = "TV Special",
                      "GC" = "Shaggy & Scooby-Doo Get a Clue!",
                      "WB" = "Warner Bros. Picture")) %>%
    
count(network)
## # A tibble: 11 × 2
##    network                  n
##    <chr>                <int>
##  1 ABC                    281
##  2 Adult Swim               1
##  3 Boomerang               74
##  4 CBS                     49
##  5 Cartoon Network         84
##  6 Syndication              3
##  7 TBC                      1
##  8 The CW                  27
##  9 The WB                  41
## 10 Warner Bros. Picture     3
## 11 Warner Home Video       39
  • fct_collapse
scooby %>%
    mutate(series_name = fct_collapse(series_name, 
                                 Original = "Scooby Doo, Where Are You!",
                                 Others   = "Supernatural","Johnny Bravo", "Scooby-Doo Mystery Incorporated", "OK K.O.!", "Harvey Birdman, Attorney at Law", "Scooby-Doo and Guess Who?", "The New Scooby-Doo Movies", "The Scooby-Doo Show", "The 13 Ghosts of Scooby-Doo", "Scooby-Doo and Scrappy-Doo (first series)", "Be Cool, Scooby-Doo!", "What's New Scooby-Doo?", "The Scooby-Doo Project", "A Pup Named Scooby-Doo", "The New Scooby-Doo Mysteries", "The New Scooby and Scrappy Doo Show", "Night of the Living Doo", "Scooby-Doo and Scrappy-Doo (second series)", "Hanna-Barbera Superstars 10", "Dynomutt, Dogwonder", "Laff-a-Lympics", "Warner Home Video", "Teen Titans", "Scooby Goes Hollywood", "Lego", "TV Special", "Shaggy & Scooby-Doo Get a Clue!", "Warner Bros. Picture")) %>%
    count(series_name)
## # A tibble: 3 × 2
##   series_name     n
##   <fct>       <int>
## 1 ""            577
## 2 "Original"     25
## 3 "Others"        1
  • fct_lump
scooby %>%
    mutate(series_name = fct_lump(series_name)) %>%
    count(series_name)
## # A tibble: 29 × 2
##    series_name                         n
##    <fct>                           <int>
##  1 A Pup Named Scooby-Doo             30
##  2 Be Cool, Scooby-Doo!               53
##  3 Dynomutt, Dogwonder                 3
##  4 Hanna-Barbera Superstars 10         3
##  5 Harvey Birdman, Attorney at Law     1
##  6 Johnny Bravo                        1
##  7 Laff-a-Lympics                     48
##  8 Lego                                3
##  9 Night of the Living Doo             1
## 10 OK K.O.!                            1
## # ℹ 19 more rows

Chapter 16

No need to do anything here.