Import your data

ads <- read.csv("../00_data/myData.csv")

Chapter 15

Create a factor

x1 <- c("2018", "2020", "2006", "2018", "2003", "2020")
sort(x1)
## [1] "2003" "2006" "2018" "2018" "2020" "2020"
year_levels <- c("2015", "2016", "2017", "2018", "2019", "2020")
y1 <- factor(x1, levels = year_levels)
y1
## [1] 2018 2020 <NA> 2018 <NA> 2020
## Levels: 2015 2016 2017 2018 2019 2020
sort(y1)
## [1] 2018 2018 2020 2020
## Levels: 2015 2016 2017 2018 2019 2020

Modify factor order

Make two bar charts here - one before ordering another after ### Unordered

like_count_summary <- ads %>%
    
    group_by(brand) %>%
    summarise(
        avg_likes = mean(like_count, na.rm = TRUE)
    )
like_count_summary
## # A tibble: 10 × 2
##    brand     avg_likes
##    <chr>         <dbl>
##  1 Bud Light     1864.
##  2 Budweiser     2399.
##  3 Coca-Cola     8012.
##  4 Doritos      14180.
##  5 E-Trade        219.
##  6 Hynudai        191.
##  7 Kia            177.
##  8 NFL          24918.
##  9 Pepsi          616.
## 10 Toyota         532.
like_count_summary %>%
    
    ggplot(aes(x = avg_likes, y = brand)) +
    geom_point() +
    
    #Labeling
    labs(y = "BRAND", x = "average likes")

Modify factor levels

Ordered

# Reorder
like_count_summary %>%
    
    ggplot(aes(x = avg_likes, y = fct_reorder(.f = brand, .x = avg_likes))) +
    geom_point() +
    
    #Labeling
    labs(y = "BRAND", x = "average likes")

# Relevel
like_count_summary %>%
    ggplot(aes(x = avg_likes,
               y = fct_reorder(.f = brand, .x = avg_likes) %>%
                   fct_relevel("Doritos"))) +
    geom_point() +
    #Labeling
    labs(y = "BRAND", x = "average likes")

# Recode
ads %>% distinct(brand)
##        brand
## 1     Toyota
## 2  Bud Light
## 3    Hynudai
## 4  Coca-Cola
## 5        Kia
## 6  Budweiser
## 7        NFL
## 8      Pepsi
## 9    Doritos
## 10   E-Trade
ads %>%
    mutate(drink = fct_recode(brand, "drink" = "Coca-Cola")) %>%
    select(brand, drink) %>%
    filter(brand == "Coca-Cola")
##        brand drink
## 1  Coca-Cola drink
## 2  Coca-Cola drink
## 3  Coca-Cola drink
## 4  Coca-Cola drink
## 5  Coca-Cola drink
## 6  Coca-Cola drink
## 7  Coca-Cola drink
## 8  Coca-Cola drink
## 9  Coca-Cola drink
## 10 Coca-Cola drink
## 11 Coca-Cola drink
## 12 Coca-Cola drink
## 13 Coca-Cola drink
## 14 Coca-Cola drink
## 15 Coca-Cola drink
## 16 Coca-Cola drink
## 17 Coca-Cola drink
## 18 Coca-Cola drink
## 19 Coca-Cola drink
## 20 Coca-Cola drink
## 21 Coca-Cola drink
# Colapse multiple levels into one
ads %>%
    mutate(drink = fct_collapse(brand, "drink"= c("Budweiser", "Bud Light"))) %>%
    select(brand, drink) %>%
    filter(brand != "Pepsi")
##         brand     drink
## 1      Toyota    Toyota
## 2   Bud Light     drink
## 3   Bud Light     drink
## 4     Hynudai   Hynudai
## 5   Bud Light     drink
## 6      Toyota    Toyota
## 7   Coca-Cola Coca-Cola
## 8         Kia       Kia
## 9     Hynudai   Hynudai
## 10  Budweiser     drink
## 11    Hynudai   Hynudai
## 12  Bud Light     drink
## 13  Budweiser     drink
## 14  Budweiser     drink
## 15        NFL       NFL
## 16        NFL       NFL
## 17  Bud Light     drink
## 18  Bud Light     drink
## 19    Doritos   Doritos
## 20  Bud Light     drink
## 21    Hynudai   Hynudai
## 22  Budweiser     drink
## 23        Kia       Kia
## 24    Doritos   Doritos
## 25    Hynudai   Hynudai
## 26        NFL       NFL
## 27  Coca-Cola Coca-Cola
## 28    Hynudai   Hynudai
## 29  Bud Light     drink
## 30    E-Trade   E-Trade
## 31  Bud Light     drink
## 32    Doritos   Doritos
## 33  Budweiser     drink
## 34  Coca-Cola Coca-Cola
## 35    Hynudai   Hynudai
## 36        Kia       Kia
## 37        NFL       NFL
## 38    E-Trade   E-Trade
## 39        NFL       NFL
## 40    E-Trade   E-Trade
## 41    E-Trade   E-Trade
## 42  Budweiser     drink
## 43    Doritos   Doritos
## 44  Budweiser     drink
## 45    Doritos   Doritos
## 46  Budweiser     drink
## 47    E-Trade   E-Trade
## 48  Bud Light     drink
## 49        Kia       Kia
## 50  Bud Light     drink
## 51  Bud Light     drink
## 52    Hynudai   Hynudai
## 53  Coca-Cola Coca-Cola
## 54    Hynudai   Hynudai
## 55    Doritos   Doritos
## 56    Doritos   Doritos
## 57    Doritos   Doritos
## 58  Coca-Cola Coca-Cola
## 59     Toyota    Toyota
## 60  Budweiser     drink
## 61  Coca-Cola Coca-Cola
## 62  Budweiser     drink
## 63  Coca-Cola Coca-Cola
## 64  Budweiser     drink
## 65    Hynudai   Hynudai
## 66  Bud Light     drink
## 67  Bud Light     drink
## 68  Bud Light     drink
## 69  Coca-Cola Coca-Cola
## 70    Doritos   Doritos
## 71  Budweiser     drink
## 72  Budweiser     drink
## 73  Budweiser     drink
## 74        Kia       Kia
## 75  Budweiser     drink
## 76  Budweiser     drink
## 77  Coca-Cola Coca-Cola
## 78    Doritos   Doritos
## 79     Toyota    Toyota
## 80        NFL       NFL
## 81    Hynudai   Hynudai
## 82  Bud Light     drink
## 83  Budweiser     drink
## 84    Hynudai   Hynudai
## 85    Doritos   Doritos
## 86  Bud Light     drink
## 87     Toyota    Toyota
## 88  Bud Light     drink
## 89  Budweiser     drink
## 90  Bud Light     drink
## 91  Coca-Cola Coca-Cola
## 92    Hynudai   Hynudai
## 93    Hynudai   Hynudai
## 94        Kia       Kia
## 95  Budweiser     drink
## 96  Bud Light     drink
## 97    Hynudai   Hynudai
## 98        NFL       NFL
## 99  Budweiser     drink
## 100 Bud Light     drink
## 101 Bud Light     drink
## 102 Budweiser     drink
## 103 Budweiser     drink
## 104 Bud Light     drink
## 105 Coca-Cola Coca-Cola
## 106 Bud Light     drink
## 107 Bud Light     drink
## 108    Toyota    Toyota
## 109 Bud Light     drink
## 110       Kia       Kia
## 111   Hynudai   Hynudai
## 112 Bud Light     drink
## 113 Bud Light     drink
## 114 Budweiser     drink
## 115 Bud Light     drink
## 116   Doritos   Doritos
## 117 Bud Light     drink
## 118 Budweiser     drink
## 119   Doritos   Doritos
## 120 Bud Light     drink
## 121   Doritos   Doritos
## 122    Toyota    Toyota
## 123   Doritos   Doritos
## 124 Bud Light     drink
## 125 Bud Light     drink
## 126   E-Trade   E-Trade
## 127 Bud Light     drink
## 128 Coca-Cola Coca-Cola
## 129   Doritos   Doritos
## 130       Kia       Kia
## 131       NFL       NFL
## 132 Bud Light     drink
## 133   Hynudai   Hynudai
## 134 Bud Light     drink
## 135 Bud Light     drink
## 136    Toyota    Toyota
## 137 Bud Light     drink
## 138 Coca-Cola Coca-Cola
## 139 Budweiser     drink
## 140   Doritos   Doritos
## 141 Bud Light     drink
## 142   Doritos   Doritos
## 143 Coca-Cola Coca-Cola
## 144   E-Trade   E-Trade
## 145 Bud Light     drink
## 146   Doritos   Doritos
## 147       Kia       Kia
## 148   Doritos   Doritos
## 149 Coca-Cola Coca-Cola
## 150   Hynudai   Hynudai
## 151 Coca-Cola Coca-Cola
## 152 Bud Light     drink
## 153       Kia       Kia
## 154 Bud Light     drink
## 155       Kia       Kia
## 156 Bud Light     drink
## 157   Hynudai   Hynudai
## 158 Bud Light     drink
## 159 Bud Light     drink
## 160   E-Trade   E-Trade
## 161 Budweiser     drink
## 162 Coca-Cola Coca-Cola
## 163 Bud Light     drink
## 164   E-Trade   E-Trade
## 165 Budweiser     drink
## 166 Coca-Cola Coca-Cola
## 167       Kia       Kia
## 168 Coca-Cola Coca-Cola
## 169 Budweiser     drink
## 170 Bud Light     drink
## 171 Bud Light     drink
## 172 Budweiser     drink
## 173       Kia       Kia
## 174 Budweiser     drink
## 175   E-Trade   E-Trade
## 176 Bud Light     drink
## 177    Toyota    Toyota
## 178 Budweiser     drink
## 179 Budweiser     drink
## 180 Budweiser     drink
## 181 Bud Light     drink
## 182   E-Trade   E-Trade
## 183 Budweiser     drink
## 184 Coca-Cola Coca-Cola
## 185 Bud Light     drink
## 186    Toyota    Toyota
## 187   Hynudai   Hynudai
## 188 Bud Light     drink
## 189   Doritos   Doritos
## 190 Budweiser     drink
## 191 Bud Light     drink
## 192 Bud Light     drink
## 193 Bud Light     drink
## 194 Bud Light     drink
## 195 Bud Light     drink
## 196 Bud Light     drink
## 197 Budweiser     drink
## 198 Bud Light     drink
## 199 Bud Light     drink
## 200 Budweiser     drink
## 201   E-Trade   E-Trade
## 202 Budweiser     drink
## 203   Hynudai   Hynudai
## 204 Budweiser     drink
## 205 Coca-Cola Coca-Cola
## 206       NFL       NFL
## 207   Doritos   Doritos
## 208 Bud Light     drink
## 209 Budweiser     drink
## 210 Bud Light     drink
## 211   Hynudai   Hynudai
## 212    Toyota    Toyota
## 213 Budweiser     drink
## 214   Doritos   Doritos
## 215   Doritos   Doritos
## 216 Bud Light     drink
## 217   Doritos   Doritos
## 218       NFL       NFL
## 219       NFL       NFL
## 220 Budweiser     drink
## 221   E-Trade   E-Trade
## 222 Budweiser     drink
#Lump small levels into other levels
ads %>% count(brand)
##        brand  n
## 1  Bud Light 63
## 2  Budweiser 43
## 3  Coca-Cola 21
## 4    Doritos 25
## 5    E-Trade 13
## 6    Hynudai 22
## 7        Kia 13
## 8        NFL 11
## 9      Pepsi 25
## 10    Toyota 11
ads %>% mutate(brand_lump = fct_lump(brand)) %>% distinct(brand_lump)
##    brand_lump
## 1      Toyota
## 2   Bud Light
## 3     Hynudai
## 4   Coca-Cola
## 5         Kia
## 6   Budweiser
## 7         NFL
## 8       Pepsi
## 9     Doritos
## 10    E-Trade

Show examples of three functions:

  • fct_recode
  • fct_collapse
  • fct_lump

Chapter 16

No need to do anything here.