data <- read_excel("../01_module4/data/myData.xlsx")
set.seed(12)
small_data <- data %>%
select(baker, technical_top3, series) %>%
sample_n(10)
wide_data <- small_data %>%
pivot_wider(names_from = series, values_from = technical_top3)
wide_data
## # A tibble: 10 × 8
## baker `6` `8` `7` `4` `10` `3` `1`
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Nadiya 4 NA NA NA NA NA NA
## 2 Peter NA 0 NA NA NA NA NA
## 3 Rav NA NA 1 NA NA NA NA
## 4 Sophie NA 6 NA NA NA NA NA
## 5 Ruby NA NA NA 6 NA NA NA
## 6 Stu 0 NA NA NA NA NA NA
## 7 Michael NA NA NA NA 0 NA NA
## 8 Stacey NA 4 NA NA NA NA NA
## 9 Victoria NA NA NA NA NA 0 NA
## 10 Mark NA NA NA NA NA NA 0
wide_data %>%
pivot_longer(-baker, values_drop_na = TRUE)
## # A tibble: 10 × 3
## baker name value
## <chr> <chr> <dbl>
## 1 Nadiya 6 4
## 2 Peter 8 0
## 3 Rav 7 1
## 4 Sophie 8 6
## 5 Ruby 4 6
## 6 Stu 6 0
## 7 Michael 10 0
## 8 Stacey 8 4
## 9 Victoria 3 0
## 10 Mark 1 0
united_data <- data %>%
unite(col = "Bakerwinner", baker:star_baker, sep = "/", remove = TRUE)
united_data %>%
separate(col = Bakerwinner, into = c("baker", "star_baker"), sep = "/")
## # A tibble: 120 × 25
## Column1 series baker star_baker technical_winner technical_top3
## <dbl> <dbl> <chr> <chr> <dbl> <dbl>
## 1 1 1 Annetha 0 0 1
## 2 2 1 David 0 0 1
## 3 3 1 Edd 0 2 4
## 4 4 1 Jasminder 0 0 2
## 5 5 1 Jonathan 0 1 1
## 6 6 1 Lea 0 0 0
## 7 7 1 Louise 0 0 0
## 8 8 1 Mark 0 0 0
## 9 9 1 Miranda 0 2 4
## 10 10 1 Ruth 0 0 2
## # ℹ 110 more rows
## # ℹ 19 more variables: technical_bottom <dbl>, technical_highest <chr>,
## # technical_lowest <chr>, technical_median <chr>, series_winner <dbl>,
## # series_runner_up <dbl>, total_episodes_appeared <dbl>,
## # first_date_appeared <chr>, last_date_appeared <chr>, first_date_us <chr>,
## # last_date_us <chr>, percent_episodes_appeared <dbl>,
## # percent_technical_top3 <dbl>, baker_full <chr>, age <dbl>, …
small_data %>%
fill(technical_top3)
## # A tibble: 10 × 3
## baker technical_top3 series
## <chr> <dbl> <dbl>
## 1 Nadiya 4 6
## 2 Peter 0 8
## 3 Rav 1 7
## 4 Sophie 6 8
## 5 Ruby 6 4
## 6 Stu 0 6
## 7 Michael 0 10
## 8 Stacey 4 8
## 9 Victoria 0 3
## 10 Mark 0 1