Import your data

data <- readr::read_csv("../00_data/myData.csv")

set.seed(1254)
data_small <- data %>%
    select(brand, year, dislike_count)  %>%
    filter(!is.na(dislike_count)) %>%
    sample_n(10)

data_small
## # A tibble: 10 × 3
##    brand      year dislike_count
##    <chr>     <dbl>         <dbl>
##  1 Doritos    2009           215
##  2 Pepsi      2001             0
##  3 Bud Light  2003             3
##  4 Budweiser  2002             3
##  5 E-Trade    2001             7
##  6 Kia        2014             2
##  7 NFL        2020          7445
##  8 Doritos    2019            14
##  9 Bud Light  2007           134
## 10 Toyota     2020            11

Pivoting

long to wide form

data_wide <- data_small %>%
    pivot_wider(names_from = brand, values_from = dislike_count)
data_wide
## # A tibble: 8 × 9
##    year Doritos Pepsi `Bud Light` Budweiser `E-Trade`   Kia   NFL Toyota
##   <dbl>   <dbl> <dbl>       <dbl>     <dbl>     <dbl> <dbl> <dbl>  <dbl>
## 1  2009     215    NA          NA        NA        NA    NA    NA     NA
## 2  2001      NA     0          NA        NA         7    NA    NA     NA
## 3  2003      NA    NA           3        NA        NA    NA    NA     NA
## 4  2002      NA    NA          NA         3        NA    NA    NA     NA
## 5  2014      NA    NA          NA        NA        NA     2    NA     NA
## 6  2020      NA    NA          NA        NA        NA    NA  7445     11
## 7  2019      14    NA          NA        NA        NA    NA    NA     NA
## 8  2007      NA    NA         134        NA        NA    NA    NA     NA

wide to long form

data_wide %>%
    pivot_longer(-year, values_drop_na = TRUE)
## # A tibble: 10 × 3
##     year name      value
##    <dbl> <chr>     <dbl>
##  1  2009 Doritos     215
##  2  2001 Pepsi         0
##  3  2001 E-Trade       7
##  4  2003 Bud Light     3
##  5  2002 Budweiser     3
##  6  2014 Kia           2
##  7  2020 NFL        7445
##  8  2020 Toyota       11
##  9  2019 Doritos      14
## 10  2007 Bud Light   134

Separating and Uniting

Unite two columns

data_united <- data %>%
    
    unite(col = "newName", like_count:dislike_count, sep = "/", remove = TRUE)

Separate a column

data_united %>%
    
    separate(col = newName, into = c("like_count", "dislike_count"), sep = "/")
## # A tibble: 247 × 25
##     year brand     superbowl_ads_dot_co…¹ youtube_url funny show_product_quickly
##    <dbl> <chr>     <chr>                  <chr>       <lgl> <lgl>               
##  1  2018 Toyota    https://superbowl-ads… https://ww… FALSE FALSE               
##  2  2020 Bud Light https://superbowl-ads… https://ww… TRUE  TRUE                
##  3  2006 Bud Light https://superbowl-ads… https://ww… TRUE  FALSE               
##  4  2018 Hynudai   https://superbowl-ads… https://ww… FALSE TRUE                
##  5  2003 Bud Light https://superbowl-ads… https://ww… TRUE  TRUE                
##  6  2020 Toyota    https://superbowl-ads… https://ww… TRUE  TRUE                
##  7  2020 Coca-Cola https://superbowl-ads… https://ww… TRUE  FALSE               
##  8  2020 Kia       https://superbowl-ads… https://ww… FALSE FALSE               
##  9  2020 Hynudai   https://superbowl-ads… https://ww… TRUE  TRUE                
## 10  2020 Budweiser https://superbowl-ads… https://ww… FALSE TRUE                
## # ℹ 237 more rows
## # ℹ abbreviated name: ¹​superbowl_ads_dot_com_url
## # ℹ 19 more variables: patriotic <lgl>, celebrity <lgl>, danger <lgl>,
## #   animals <lgl>, use_sex <lgl>, id <chr>, kind <chr>, etag <chr>,
## #   view_count <dbl>, like_count <chr>, dislike_count <chr>,
## #   favorite_count <dbl>, comment_count <dbl>, published_at <dttm>,
## #   title <chr>, description <chr>, thumbnail <chr>, channel_title <chr>, …

Missing Values