Import your data

myData <- read_excel("data/myData.xlsx")
myData
## # A tibble: 2,973 × 10
##    name     state state_code type  degree_length room_and_board in_state_tuition
##    <chr>    <chr> <chr>      <chr> <chr>         <chr>                     <dbl>
##  1 Aaniiih… Mont… MT         Publ… 2 Year        NA                         2380
##  2 Abilene… Texas TX         Priv… 4 Year        10350                     34850
##  3 Abraham… Geor… GA         Publ… 2 Year        8474                       4128
##  4 Academy… Minn… MN         For … 2 Year        NA                        17661
##  5 Academy… Cali… CA         For … 4 Year        16648                     27810
##  6 Adams S… Colo… CO         Publ… 4 Year        8782                       9440
##  7 Adelphi… New … NY         Priv… 4 Year        16030                     38660
##  8 Adirond… New … NY         Publ… 2 Year        11660                      5375
##  9 Adrian … Mich… MI         Priv… 4 Year        11318                     37087
## 10 Advance… Virg… VA         For … 2 Year        NA                        13680
## # ℹ 2,963 more rows
## # ℹ 3 more variables: in_state_total <dbl>, out_of_state_tuition <dbl>,
## #   out_of_state_total <dbl>

Pivoting

data <- myData %>%
    
    select(name, room_and_board, in_state_tuition, out_of_state_tuition) %>%
    filter(name %in% c("Plymouth State University", "University of New Hampshire", "Southern New Hampshire University"))
data
## # A tibble: 3 × 4
##   name                      room_and_board in_state_tuition out_of_state_tuition
##   <chr>                     <chr>                     <dbl>                <dbl>
## 1 Plymouth State University 11100                     14099                22769
## 2 Southern New Hampshire U… 13120                     31136                31136
## 3 University of New Hampsh… 11580                     18499                33879

Separating and Uniting

Unite two columns

data_united <- myData %>%
    
    unite(col = "Tuition", in_state_tuition:out_of_state_tuition, sep = "/")
data_united
## # A tibble: 2,973 × 8
##    name              state state_code type  degree_length room_and_board Tuition
##    <chr>             <chr> <chr>      <chr> <chr>         <chr>          <chr>  
##  1 Aaniiih Nakoda C… Mont… MT         Publ… 2 Year        NA             2380/2…
##  2 Abilene Christia… Texas TX         Priv… 4 Year        10350          34850/…
##  3 Abraham Baldwin … Geor… GA         Publ… 2 Year        8474           4128/1…
##  4 Academy College   Minn… MN         For … 2 Year        NA             17661/…
##  5 Academy of Art U… Cali… CA         For … 4 Year        16648          27810/…
##  6 Adams State Univ… Colo… CO         Publ… 4 Year        8782           9440/1…
##  7 Adelphi Universi… New … NY         Priv… 4 Year        16030          38660/…
##  8 Adirondack Commu… New … NY         Publ… 2 Year        11660          5375/1…
##  9 Adrian College    Mich… MI         Priv… 4 Year        11318          37087/…
## 10 Advanced Technol… Virg… VA         For … 2 Year        NA             13680/…
## # ℹ 2,963 more rows
## # ℹ 1 more variable: out_of_state_total <dbl>
data_separated <- data_united %>%
    
    separate(col = Tuition, into = c("in_state_total", "out_of_state_total"), sep = "/")
## Warning: Expected 2 pieces. Additional pieces discarded in 2973 rows [1, 2, 3, 4, 5, 6,
## 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ...].
data_separated
## # A tibble: 2,973 × 8
##    name       state state_code type  degree_length room_and_board in_state_total
##    <chr>      <chr> <chr>      <chr> <chr>         <chr>          <chr>         
##  1 Aaniiih N… Mont… MT         Publ… 2 Year        NA             2380          
##  2 Abilene C… Texas TX         Priv… 4 Year        10350          34850         
##  3 Abraham B… Geor… GA         Publ… 2 Year        8474           4128          
##  4 Academy C… Minn… MN         For … 2 Year        NA             17661         
##  5 Academy o… Cali… CA         For … 4 Year        16648          27810         
##  6 Adams Sta… Colo… CO         Publ… 4 Year        8782           9440          
##  7 Adelphi U… New … NY         Priv… 4 Year        16030          38660         
##  8 Adirondac… New … NY         Publ… 2 Year        11660          5375          
##  9 Adrian Co… Mich… MI         Priv… 4 Year        11318          37087         
## 10 Advanced … Virg… VA         For … 2 Year        NA             13680         
## # ℹ 2,963 more rows
## # ℹ 1 more variable: out_of_state_total <chr>

Missing Values

data %>% 
  group_by(in_state_tuition, out_of_state_tuition) %>% 
  summarise(mean = mean(name, na.rm = TRUE))
## Warning: There were 3 warnings in `summarise()`.
## The first warning was:
## ℹ In argument: `mean = mean(name, na.rm = TRUE)`.
## ℹ In group 1: `in_state_tuition = 14099` and `out_of_state_tuition = 22769`.
## Caused by warning in `mean.default()`:
## ! argument is not numeric or logical: returning NA
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 2 remaining warnings.
## `summarise()` has grouped output by 'in_state_tuition'. You can override using
## the `.groups` argument.
## # A tibble: 3 × 3
## # Groups:   in_state_tuition [3]
##   in_state_tuition out_of_state_tuition  mean
##              <dbl>                <dbl> <dbl>
## 1            14099                22769    NA
## 2            18499                33879    NA
## 3            31136                31136    NA