Import your data

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

Chapter 15

Create a factor

Modify factor order

Make two bar charts here - one before ordering another after

data %>%
    distinct(rank)
##        rank
## 1      Prof
## 2  AsstProf
## 3 AssocProf
data %>% 
    distinct(yrs.since.phd)
##    yrs.since.phd
## 1             19
## 2             20
## 3              4
## 4             45
## 5             40
## 6              6
## 7             30
## 8             21
## 9             18
## 10            12
## 11             7
## 12             1
## 13             2
## 14            38
## 15            37
## 16            39
## 17            31
## 18            36
## 19            34
## 20            24
## 21            13
## 22            35
## 23             5
## 24            11
## 25            22
## 26            41
## 27             9
## 28            23
## 29            25
## 30            28
## 31            16
## 32            14
## 33            10
## 34             8
## 35             3
## 36            33
## 37            17
## 38            29
## 39            26
## 40            43
## 41            15
## 42            42
## 43            32
## 44            54
## 45            56
## 46            27
## 47            48
## 48            46
## 49            47
## 50            52
## 51            51
## 52            49
## 53            44
data %>%
    ggplot(aes(x = rank, y = yrs.since.phd))+
    geom_point()

Modify factor levels

Show examples of three functions:

  • fct_recode
data %>%
    mutate(rank_rev = fct_recode(rank,"AssociateP" = "AssocProf")) %>%
    select(rank, rank_rev) %>%
    filter(rank == "AssocProf")
##         rank   rank_rev
## 1  AssocProf AssociateP
## 2  AssocProf AssociateP
## 3  AssocProf AssociateP
## 4  AssocProf AssociateP
## 5  AssocProf AssociateP
## 6  AssocProf AssociateP
## 7  AssocProf AssociateP
## 8  AssocProf AssociateP
## 9  AssocProf AssociateP
## 10 AssocProf AssociateP
## 11 AssocProf AssociateP
## 12 AssocProf AssociateP
## 13 AssocProf AssociateP
## 14 AssocProf AssociateP
## 15 AssocProf AssociateP
## 16 AssocProf AssociateP
## 17 AssocProf AssociateP
## 18 AssocProf AssociateP
## 19 AssocProf AssociateP
## 20 AssocProf AssociateP
## 21 AssocProf AssociateP
## 22 AssocProf AssociateP
## 23 AssocProf AssociateP
## 24 AssocProf AssociateP
## 25 AssocProf AssociateP
## 26 AssocProf AssociateP
## 27 AssocProf AssociateP
## 28 AssocProf AssociateP
## 29 AssocProf AssociateP
## 30 AssocProf AssociateP
## 31 AssocProf AssociateP
## 32 AssocProf AssociateP
## 33 AssocProf AssociateP
## 34 AssocProf AssociateP
## 35 AssocProf AssociateP
## 36 AssocProf AssociateP
## 37 AssocProf AssociateP
## 38 AssocProf AssociateP
## 39 AssocProf AssociateP
## 40 AssocProf AssociateP
## 41 AssocProf AssociateP
## 42 AssocProf AssociateP
## 43 AssocProf AssociateP
## 44 AssocProf AssociateP
## 45 AssocProf AssociateP
## 46 AssocProf AssociateP
## 47 AssocProf AssociateP
## 48 AssocProf AssociateP
## 49 AssocProf AssociateP
## 50 AssocProf AssociateP
## 51 AssocProf AssociateP
## 52 AssocProf AssociateP
## 53 AssocProf AssociateP
## 54 AssocProf AssociateP
## 55 AssocProf AssociateP
## 56 AssocProf AssociateP
## 57 AssocProf AssociateP
## 58 AssocProf AssociateP
## 59 AssocProf AssociateP
## 60 AssocProf AssociateP
## 61 AssocProf AssociateP
## 62 AssocProf AssociateP
## 63 AssocProf AssociateP
## 64 AssocProf AssociateP
  • fct_collapse
data %>%
     mutate(rank_col = fct_collapse(rank, "Prof" = c("AssocProf","AsstProf"))) %>%
    select(rank, rank_col) %>%
    filter(rank != "Prof")
##          rank rank_col
## 1    AsstProf     Prof
## 2   AssocProf     Prof
## 3   AssocProf     Prof
## 4    AsstProf     Prof
## 5    AsstProf     Prof
## 6    AsstProf     Prof
## 7   AssocProf     Prof
## 8    AsstProf     Prof
## 9    AsstProf     Prof
## 10   AsstProf     Prof
## 11   AsstProf     Prof
## 12   AsstProf     Prof
## 13   AsstProf     Prof
## 14   AsstProf     Prof
## 15  AssocProf     Prof
## 16  AssocProf     Prof
## 17   AsstProf     Prof
## 18   AsstProf     Prof
## 19  AssocProf     Prof
## 20  AssocProf     Prof
## 21  AssocProf     Prof
## 22  AssocProf     Prof
## 23   AsstProf     Prof
## 24  AssocProf     Prof
## 25   AsstProf     Prof
## 26  AssocProf     Prof
## 27   AsstProf     Prof
## 28  AssocProf     Prof
## 29   AsstProf     Prof
## 30   AsstProf     Prof
## 31   AsstProf     Prof
## 32   AsstProf     Prof
## 33   AsstProf     Prof
## 34  AssocProf     Prof
## 35   AsstProf     Prof
## 36  AssocProf     Prof
## 37  AssocProf     Prof
## 38   AsstProf     Prof
## 39  AssocProf     Prof
## 40  AssocProf     Prof
## 41  AssocProf     Prof
## 42  AssocProf     Prof
## 43  AssocProf     Prof
## 44  AssocProf     Prof
## 45   AsstProf     Prof
## 46   AsstProf     Prof
## 47   AsstProf     Prof
## 48  AssocProf     Prof
## 49   AsstProf     Prof
## 50   AsstProf     Prof
## 51  AssocProf     Prof
## 52  AssocProf     Prof
## 53   AsstProf     Prof
## 54  AssocProf     Prof
## 55  AssocProf     Prof
## 56  AssocProf     Prof
## 57   AsstProf     Prof
## 58   AsstProf     Prof
## 59   AsstProf     Prof
## 60   AsstProf     Prof
## 61  AssocProf     Prof
## 62   AsstProf     Prof
## 63  AssocProf     Prof
## 64   AsstProf     Prof
## 65  AssocProf     Prof
## 66   AsstProf     Prof
## 67  AssocProf     Prof
## 68   AsstProf     Prof
## 69   AsstProf     Prof
## 70  AssocProf     Prof
## 71   AsstProf     Prof
## 72  AssocProf     Prof
## 73  AssocProf     Prof
## 74  AssocProf     Prof
## 75   AsstProf     Prof
## 76  AssocProf     Prof
## 77  AssocProf     Prof
## 78  AssocProf     Prof
## 79  AssocProf     Prof
## 80  AssocProf     Prof
## 81  AssocProf     Prof
## 82   AsstProf     Prof
## 83   AsstProf     Prof
## 84   AsstProf     Prof
## 85   AsstProf     Prof
## 86   AsstProf     Prof
## 87  AssocProf     Prof
## 88  AssocProf     Prof
## 89  AssocProf     Prof
## 90  AssocProf     Prof
## 91   AsstProf     Prof
## 92  AssocProf     Prof
## 93  AssocProf     Prof
## 94   AsstProf     Prof
## 95   AsstProf     Prof
## 96   AsstProf     Prof
## 97   AsstProf     Prof
## 98  AssocProf     Prof
## 99  AssocProf     Prof
## 100  AsstProf     Prof
## 101 AssocProf     Prof
## 102  AsstProf     Prof
## 103  AsstProf     Prof
## 104  AsstProf     Prof
## 105 AssocProf     Prof
## 106 AssocProf     Prof
## 107  AsstProf     Prof
## 108  AsstProf     Prof
## 109 AssocProf     Prof
## 110 AssocProf     Prof
## 111  AsstProf     Prof
## 112  AsstProf     Prof
## 113  AsstProf     Prof
## 114 AssocProf     Prof
## 115 AssocProf     Prof
## 116 AssocProf     Prof
## 117  AsstProf     Prof
## 118 AssocProf     Prof
## 119 AssocProf     Prof
## 120  AsstProf     Prof
## 121  AsstProf     Prof
## 122  AsstProf     Prof
## 123 AssocProf     Prof
## 124 AssocProf     Prof
## 125 AssocProf     Prof
## 126  AsstProf     Prof
## 127  AsstProf     Prof
## 128 AssocProf     Prof
## 129  AsstProf     Prof
## 130 AssocProf     Prof
## 131  AsstProf     Prof
  • fct_lump
data %>% count(rank)
##        rank   n
## 1 AssocProf  64
## 2  AsstProf  67
## 3      Prof 266
data %>% mutate(rank_lump = fct_lump(rank)) %>% distinct(rank_lump)
##   rank_lump
## 1      Prof
## 2     Other

Chapter 16

No need to do anything here.