Load package

library(tidyverse) ```

Tidy data Pivoting long to wide form table4a ## # A tibble: 3 × 3 ## country 1999 2000 ## ## 1 Afghanistan 745 2666 ## 2 Brazil 37737 80488 ## 3 China 212258 213766 table4a_long <- table4a %>%

pivot_longer(cols = c(`1999`, `2000`),
             names_to = "year",
             values_to = "cases")

table4a_long ## # A tibble: 6 × 3 ## country year cases ## ## 1 Afghanistan 1999 745 ## 2 Afghanistan 2000 2666 ## 3 Brazil 1999 37737 ## 4 Brazil 2000 80488 ## 5 China 1999 212258 ## 6 China 2000 213766 wide o long form table4a_long %>%

pivot_wider(names_from = year,
            values_from = cases)

# A tibble: 3 × 3

country 1999 2000

1 Afghanistan 745 2666

2 Brazil 37737 80488

3 China 212258 213766

Separating and Uniting Separate a column table3 ## # A tibble: 6 × 3 ## country year rate
##
## 1 Afghanistan 1999 745/19987071
## 2 Afghanistan 2000 2666/20595360
## 3 Brazil 1999 37737/172006362
## 4 Brazil 2000 80488/174504898
## 5 China 1999 212258/1272915272 ## 6 China 2000 213766/1280428583 table3_sep <- table3 %>%

separate(col = rate, into = c("cases", "population"))

table3_sep ## # A tibble: 6 × 4 ## country year cases population ##
## 1 Afghanistan 1999 745 19987071
## 2 Afghanistan 2000 2666 20595360
## 3 Brazil 1999 37737 172006362 ## 4 Brazil 2000 80488 174504898 ## 5 China 1999 212258 1272915272 ## 6 China 2000 213766 1280428583 Unite two columns table3_sep %>%

unite(col = "rate", c(cases,population), sep = "/", )

# A tibble: 6 × 3

country year rate

1 Afghanistan 1999 745/19987071

2 Afghanistan 2000 2666/20595360

3 Brazil 1999 37737/172006362

4 Brazil 2000 80488/174504898

5 China 1999 212258/1272915272

6 China 2000 213766/1280428583

Missing Values stocks <- tibble( year = c(2015, 2015, 2015, 2015, 2016, 2016, 2016), qtr = c( 1, 2, 3, 4, 2, 3, 4), return = c(1.88, 0.59, 0.35, NA, 0.92, 0.17, 2.66) ) stocks %>%

pivot_wider(names_from = year, values_from = return)

# A tibble: 4 × 3

qtr 2015 2016

1 1 1.88 NA

2 2 0.59 0.92

3 3 0.35 0.17

4 4 NA 2.66

bikes <- tibble( bike_model = c(“A”, “A”,“B”,“B”, “C”), material = c(“steel”, “aluminum”, “steel”, “aluminum”, “steel”), price = c(100, 200, 300, 400, 500) ) bikes %>%

pivot_wider(names_from = bike_model, values_from = price)

# A tibble: 2 × 4

material A B C

1 steel 100 300 500

2 aluminum 200 400 NA

bikes %>%

complete(bike_model, material)

# A tibble: 6 × 3

bike_model material price

1 A aluminum 200

2 A steel 100

3 B aluminum 400

4 B steel 300

5 C aluminum NA

6 C steel 500

treatment <- tribble( ~ person, ~ treatment, ~ response, “Derrick Whitmore”, 1, 7, NA, 2, 10, NA, 3, 9, “Katherine Burke”, 1, 4, NA, 2, 10, NA, 3, 9 )

treatment %>%

fill(person, .direction = "downup")

# A tibble: 6 × 3

person treatment response

1 Derrick Whitmore 1 7

2 Derrick Whitmore 2 10

3 Derrick Whitmore 3 9

4 Katherine Burke 1 4

5 Katherine Burke 2 10

6 Katherine Burke 3 9