Import your data

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

Chapter 15

Create a factor

Modify factor order

Make two bar charts here - one before ordering another after

unordered factor levels

# Transform data: calculate average ty hours by religion
like_count_by_brand <- data %>%
    
    group_by(brand) %>%
    summarise(
        avg_like_count = mean(like_count, na.rm = TRUE)
    )
like_count_by_brand
## # A tibble: 10 × 2
##    brand     avg_like_count
##    <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.
# Plot
like_count_by_brand %>%
    
    ggplot(aes(x = avg_like_count, y = brand)) +
    geom_point()

Ordered factor levels

like_count_by_brand %>%
    
    ggplot(aes(x = avg_like_count, y = fct_reorder(.f = brand, .x = avg_like_count)))+
    geom_point() +
        
        #Labeling
        labs(y = NULL, x = "Mean Like Count")

Modify factor levels

Show examples of three functions:

  • fct_recode
data %>%
    
    #rename levels
   mutate(brand_rev = fct_recode(brand, "Drink" = "Pepsi")) %>%
    select(brand, brand_rev) %>%
    filter(brand == "Pepsi")
##    brand brand_rev
## 1  Pepsi     Drink
## 2  Pepsi     Drink
## 3  Pepsi     Drink
## 4  Pepsi     Drink
## 5  Pepsi     Drink
## 6  Pepsi     Drink
## 7  Pepsi     Drink
## 8  Pepsi     Drink
## 9  Pepsi     Drink
## 10 Pepsi     Drink
## 11 Pepsi     Drink
## 12 Pepsi     Drink
## 13 Pepsi     Drink
## 14 Pepsi     Drink
## 15 Pepsi     Drink
## 16 Pepsi     Drink
## 17 Pepsi     Drink
## 18 Pepsi     Drink
## 19 Pepsi     Drink
## 20 Pepsi     Drink
## 21 Pepsi     Drink
## 22 Pepsi     Drink
## 23 Pepsi     Drink
## 24 Pepsi     Drink
## 25 Pepsi     Drink
  • fct_collapse
# Collapse multiple levels into one
data %>%
    
    mutate(brand_col = fct_collapse(brand, "Drink" = c("Pepsi", "Coca-Cola" ))) %>%
    select(brand, brand_col) %>%
    filter(brand != "Bud Light")
##         brand brand_col
## 1      Toyota    Toyota
## 2     Hynudai   Hynudai
## 3      Toyota    Toyota
## 4   Coca-Cola     Drink
## 5         Kia       Kia
## 6     Hynudai   Hynudai
## 7   Budweiser Budweiser
## 8     Hynudai   Hynudai
## 9   Budweiser Budweiser
## 10  Budweiser Budweiser
## 11        NFL       NFL
## 12        NFL       NFL
## 13      Pepsi     Drink
## 14    Doritos   Doritos
## 15      Pepsi     Drink
## 16    Hynudai   Hynudai
## 17  Budweiser Budweiser
## 18        Kia       Kia
## 19    Doritos   Doritos
## 20      Pepsi     Drink
## 21    Hynudai   Hynudai
## 22        NFL       NFL
## 23  Coca-Cola     Drink
## 24      Pepsi     Drink
## 25    Hynudai   Hynudai
## 26    E-Trade   E-Trade
## 27    Doritos   Doritos
## 28  Budweiser Budweiser
## 29  Coca-Cola     Drink
## 30    Hynudai   Hynudai
## 31      Pepsi     Drink
## 32        Kia       Kia
## 33      Pepsi     Drink
## 34        NFL       NFL
## 35    E-Trade   E-Trade
## 36        NFL       NFL
## 37    E-Trade   E-Trade
## 38    E-Trade   E-Trade
## 39  Budweiser Budweiser
## 40    Doritos   Doritos
## 41  Budweiser Budweiser
## 42    Doritos   Doritos
## 43  Budweiser Budweiser
## 44    E-Trade   E-Trade
## 45        Kia       Kia
## 46      Pepsi     Drink
## 47    Hynudai   Hynudai
## 48  Coca-Cola     Drink
## 49    Hynudai   Hynudai
## 50    Doritos   Doritos
## 51    Doritos   Doritos
## 52    Doritos   Doritos
## 53  Coca-Cola     Drink
## 54     Toyota    Toyota
## 55  Budweiser Budweiser
## 56  Coca-Cola     Drink
## 57  Budweiser Budweiser
## 58  Coca-Cola     Drink
## 59  Budweiser Budweiser
## 60    Hynudai   Hynudai
## 61  Coca-Cola     Drink
## 62      Pepsi     Drink
## 63    Doritos   Doritos
## 64  Budweiser Budweiser
## 65  Budweiser Budweiser
## 66  Budweiser Budweiser
## 67        Kia       Kia
## 68  Budweiser Budweiser
## 69  Budweiser Budweiser
## 70  Coca-Cola     Drink
## 71    Doritos   Doritos
## 72     Toyota    Toyota
## 73        NFL       NFL
## 74    Hynudai   Hynudai
## 75  Budweiser Budweiser
## 76    Hynudai   Hynudai
## 77    Doritos   Doritos
## 78     Toyota    Toyota
## 79  Budweiser Budweiser
## 80  Coca-Cola     Drink
## 81    Hynudai   Hynudai
## 82    Hynudai   Hynudai
## 83        Kia       Kia
## 84  Budweiser Budweiser
## 85    Hynudai   Hynudai
## 86        NFL       NFL
## 87      Pepsi     Drink
## 88  Budweiser Budweiser
## 89  Budweiser Budweiser
## 90  Budweiser Budweiser
## 91  Coca-Cola     Drink
## 92     Toyota    Toyota
## 93        Kia       Kia
## 94    Hynudai   Hynudai
## 95  Budweiser Budweiser
## 96    Doritos   Doritos
## 97  Budweiser Budweiser
## 98    Doritos   Doritos
## 99      Pepsi     Drink
## 100   Doritos   Doritos
## 101    Toyota    Toyota
## 102   Doritos   Doritos
## 103   E-Trade   E-Trade
## 104 Coca-Cola     Drink
## 105     Pepsi     Drink
## 106   Doritos   Doritos
## 107       Kia       Kia
## 108       NFL       NFL
## 109   Hynudai   Hynudai
## 110    Toyota    Toyota
## 111 Coca-Cola     Drink
## 112 Budweiser Budweiser
## 113   Doritos   Doritos
## 114   Doritos   Doritos
## 115 Coca-Cola     Drink
## 116     Pepsi     Drink
## 117   E-Trade   E-Trade
## 118   Doritos   Doritos
## 119       Kia       Kia
## 120   Doritos   Doritos
## 121 Coca-Cola     Drink
## 122   Hynudai   Hynudai
## 123 Coca-Cola     Drink
## 124       Kia       Kia
## 125       Kia       Kia
## 126     Pepsi     Drink
## 127   Hynudai   Hynudai
## 128   E-Trade   E-Trade
## 129 Budweiser Budweiser
## 130     Pepsi     Drink
## 131 Coca-Cola     Drink
## 132     Pepsi     Drink
## 133   E-Trade   E-Trade
## 134 Budweiser Budweiser
## 135 Coca-Cola     Drink
## 136       Kia       Kia
## 137 Coca-Cola     Drink
## 138 Budweiser Budweiser
## 139 Budweiser Budweiser
## 140       Kia       Kia
## 141 Budweiser Budweiser
## 142   E-Trade   E-Trade
## 143    Toyota    Toyota
## 144 Budweiser Budweiser
## 145 Budweiser Budweiser
## 146 Budweiser Budweiser
## 147   E-Trade   E-Trade
## 148 Budweiser Budweiser
## 149 Coca-Cola     Drink
## 150    Toyota    Toyota
## 151   Hynudai   Hynudai
## 152     Pepsi     Drink
## 153     Pepsi     Drink
## 154     Pepsi     Drink
## 155   Doritos   Doritos
## 156 Budweiser Budweiser
## 157     Pepsi     Drink
## 158     Pepsi     Drink
## 159 Budweiser Budweiser
## 160 Budweiser Budweiser
## 161   E-Trade   E-Trade
## 162     Pepsi     Drink
## 163 Budweiser Budweiser
## 164   Hynudai   Hynudai
## 165 Budweiser Budweiser
## 166     Pepsi     Drink
## 167 Coca-Cola     Drink
## 168       NFL       NFL
## 169   Doritos   Doritos
## 170     Pepsi     Drink
## 171 Budweiser Budweiser
## 172   Hynudai   Hynudai
## 173    Toyota    Toyota
## 174 Budweiser Budweiser
## 175   Doritos   Doritos
## 176   Doritos   Doritos
## 177   Doritos   Doritos
## 178       NFL       NFL
## 179     Pepsi     Drink
## 180       NFL       NFL
## 181 Budweiser Budweiser
## 182     Pepsi     Drink
## 183   E-Trade   E-Trade
## 184 Budweiser Budweiser
  • fct_lump
#Lump small levels into other levels
data %>% 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
data %>% 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

Chapter 16

No need to do anything here.