Import your data

Board_game_data <-readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2022/2022-01-25/details.csv')
## Rows: 21631 Columns: 23
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (10): primary, description, boardgamecategory, boardgamemechanic, boardg...
## dbl (13): num, id, yearpublished, minplayers, maxplayers, playingtime, minpl...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
data_small <- Board_game_data %>%
    
    select(primary, yearpublished, minplayers) %>%
    filter(primary %in% c("Robin Hood", "Chaos")) %>% slice(-10)

Pivoting

long to wide form

data_small%>% slice(-10)
## # A tibble: 9 × 3
##   primary    yearpublished minplayers
##   <chr>              <dbl>      <dbl>
## 1 Robin Hood          2011          3
## 2 Chaos               2010          3
## 3 Robin Hood          1999          3
## 4 Robin Hood          1990          2
## 5 Robin Hood          1994          2
## 6 Chaos               1970          2
## 7 Robin Hood          1991          2
## 8 Chaos               2007          2
## 9 Robin Hood          2019          2
data_small %>%
 pivot_wider(names_from = yearpublished,
             values_from = minplayers)
## # A tibble: 2 × 10
##   primary    `2011` `2010` `1999` `1990` `1994` `1970` `1991` `2007` `2019`
##   <chr>       <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1 Robin Hood      3     NA      3      2      2     NA      2     NA      2
## 2 Chaos          NA      3     NA     NA     NA      2     NA      2     NA
data_small %>%
    pivot_wider(names_from = yearpublished,
                values_from = minplayers)
## # A tibble: 2 × 10
##   primary    `2011` `2010` `1999` `1990` `1994` `1970` `1991` `2007` `2019`
##   <chr>       <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1 Robin Hood      3     NA      3      2      2     NA      2     NA      2
## 2 Chaos          NA      3     NA     NA     NA      2     NA      2     NA

wide to long form

data_small %>%
    arrange(yearpublished, minplayers)
## # A tibble: 9 × 3
##   primary    yearpublished minplayers
##   <chr>              <dbl>      <dbl>
## 1 Chaos               1970          2
## 2 Robin Hood          1990          2
## 3 Robin Hood          1991          2
## 4 Robin Hood          1994          2
## 5 Robin Hood          1999          3
## 6 Chaos               2007          2
## 7 Chaos               2010          3
## 8 Robin Hood          2011          3
## 9 Robin Hood          2019          2

Separating and Uniting

Separate a column

Unite two columns

data_small %>%
    unite(col = "minplayers" , c(minplayers), sep = "/")
## # A tibble: 9 × 3
##   primary    yearpublished minplayers
##   <chr>              <dbl> <chr>     
## 1 Robin Hood          2011 3         
## 2 Chaos               2010 3         
## 3 Robin Hood          1999 3         
## 4 Robin Hood          1990 2         
## 5 Robin Hood          1994 2         
## 6 Chaos               1970 2         
## 7 Robin Hood          1991 2         
## 8 Chaos               2007 2         
## 9 Robin Hood          2019 2

Missing Values