Import your data

data <- read_csv("../00_data/freedom.csv")
## New names:
## Rows: 4979 Columns: 9
## -- Column specification
## -------------------------------------------------------- Delimiter: "," chr
## (3): country, Status, Region_Name dbl (6): ...1, year, CL, PR, Region_Code,
## is_ldc
## i Use `spec()` to retrieve the full column specification for this data. i
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## * `` -> `...1`

Pivoting

long to wide form

data_wide <- data %>% pivot_wider(names_from = CL, values_from = PR)

data_wide
## # A tibble: 4,979 x 14
##     ...1 country    year Status Region_Code Region_Name is_ldc   `7`   `6`   `5`
##    <dbl> <chr>     <dbl> <chr>        <dbl> <chr>        <dbl> <dbl> <dbl> <dbl>
##  1     1 Afghanis~  1995 NF             142 Asia             1     7    NA    NA
##  2     2 Afghanis~  1996 NF             142 Asia             1     7    NA    NA
##  3     3 Afghanis~  1997 NF             142 Asia             1     7    NA    NA
##  4     4 Afghanis~  1998 NF             142 Asia             1     7    NA    NA
##  5     5 Afghanis~  1999 NF             142 Asia             1     7    NA    NA
##  6     6 Afghanis~  2000 NF             142 Asia             1     7    NA    NA
##  7     7 Afghanis~  2001 NF             142 Asia             1     7    NA    NA
##  8     8 Afghanis~  2002 NF             142 Asia             1    NA     6    NA
##  9     9 Afghanis~  2003 NF             142 Asia             1    NA     6    NA
## 10    10 Afghanis~  2004 NF             142 Asia             1    NA     5    NA
## # ... with 4,969 more rows, and 4 more variables: `4` <dbl>, `3` <dbl>,
## #   `1` <dbl>, `2` <dbl>

wide to long form

data_wide %>% pivot_longer(`7`:`2`, names_to = "CL", values_to = "PR", values_drop_na = TRUE)
## # A tibble: 4,979 x 9
##     ...1 country      year Status Region_Code Region_Name is_ldc CL       PR
##    <dbl> <chr>       <dbl> <chr>        <dbl> <chr>        <dbl> <chr> <dbl>
##  1     1 Afghanistan  1995 NF             142 Asia             1 7         7
##  2     2 Afghanistan  1996 NF             142 Asia             1 7         7
##  3     3 Afghanistan  1997 NF             142 Asia             1 7         7
##  4     4 Afghanistan  1998 NF             142 Asia             1 7         7
##  5     5 Afghanistan  1999 NF             142 Asia             1 7         7
##  6     6 Afghanistan  2000 NF             142 Asia             1 7         7
##  7     7 Afghanistan  2001 NF             142 Asia             1 7         7
##  8     8 Afghanistan  2002 NF             142 Asia             1 6         6
##  9     9 Afghanistan  2003 NF             142 Asia             1 6         6
## 10    10 Afghanistan  2004 NF             142 Asia             1 6         5
## # ... with 4,969 more rows

Separating and Uniting

Separate a column

Unite two columns

Missing Values