data <- read_excel("../00_data/MyData.xlsx")
data
## # A tibble: 252 × 3
## W Capacity Team
## <dbl> <dbl> <chr>
## 1 5 0.957 Cardinals
## 2 5 0.948 Cardinals
## 3 5 0.954 Cardinals
## 4 5 0.949 Cardinals
## 5 5 0.962 Cardinals
## 6 5 0.961 Cardinals
## 7 5 1.01 Cardinals
## 8 5 0.999 Cardinals
## 9 7 1.02 Falcons
## 10 7 1.02 Falcons
## # ℹ 242 more rows
set.seed(12345) #for reproducible outcome
tiny_data <- data %>%
#Select three columns
select(W, Capacity, Team) %>%
#Randomly select five rows
sample_n(5)
tiny_data
## # A tibble: 5 × 3
## W Capacity Team
## <dbl> <dbl> <chr>
## 1 9 0.886 Rams
## 2 2 0.653 Bengals
## 3 8 0.936 Steelers
## 4 13 1.01 49ers
## 5 13 1.03 49ers
data_wide <- tiny_data %>%
pivot_wider(names_from = W, values_from = Capacity)
## Warning: Values from `Capacity` are not uniquely identified; output will contain
## list-cols.
## • Use `values_fn = list` to suppress this warning.
## • Use `values_fn = {summary_fun}` to summarise duplicates.
## • Use the following dplyr code to identify duplicates.
## {data} |>
## dplyr::summarise(n = dplyr::n(), .by = c(Team, W)) |>
## dplyr::filter(n > 1L)
data_wide
## # A tibble: 4 × 5
## Team `9` `2` `8` `13`
## <chr> <list> <list> <list> <list>
## 1 Rams <dbl [1]> <NULL> <NULL> <NULL>
## 2 Bengals <NULL> <dbl [1]> <NULL> <NULL>
## 3 Steelers <NULL> <NULL> <dbl [1]> <NULL>
## 4 49ers <NULL> <NULL> <NULL> <dbl [2]>
data_wide2 <- tiny_data %>% slice(-4) %>%
pivot_wider(names_from = W, values_from = Capacity)
data_wide2
## # A tibble: 4 × 5
## Team `9` `2` `8` `13`
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Rams 0.886 NA NA NA
## 2 Bengals NA 0.653 NA NA
## 3 Steelers NA NA 0.936 NA
## 4 49ers NA NA NA 1.03
data_wide2 %>% pivot_longer('9':'13', names_to = "W", values_to = "Capacity", values_drop_na = TRUE)
## # A tibble: 4 × 3
## Team W Capacity
## <chr> <chr> <dbl>
## 1 Rams 9 0.886
## 2 Bengals 2 0.653
## 3 Steelers 8 0.936
## 4 49ers 13 1.03
data2 <- data %>% mutate(Games = 16)
data2
## # A tibble: 252 × 4
## W Capacity Team Games
## <dbl> <dbl> <chr> <dbl>
## 1 5 0.957 Cardinals 16
## 2 5 0.948 Cardinals 16
## 3 5 0.954 Cardinals 16
## 4 5 0.949 Cardinals 16
## 5 5 0.962 Cardinals 16
## 6 5 0.961 Cardinals 16
## 7 5 1.01 Cardinals 16
## 8 5 0.999 Cardinals 16
## 9 7 1.02 Falcons 16
## 10 7 1.02 Falcons 16
## # ℹ 242 more rows
data2 <- data2 %>% unite(col = "Win_Ratio", c(W, Games), sep = "/")
data2
## # A tibble: 252 × 3
## Win_Ratio Capacity Team
## <chr> <dbl> <chr>
## 1 5/16 0.957 Cardinals
## 2 5/16 0.948 Cardinals
## 3 5/16 0.954 Cardinals
## 4 5/16 0.949 Cardinals
## 5 5/16 0.962 Cardinals
## 6 5/16 0.961 Cardinals
## 7 5/16 1.01 Cardinals
## 8 5/16 0.999 Cardinals
## 9 7/16 1.02 Falcons
## 10 7/16 1.02 Falcons
## # ℹ 242 more rows
data2 %>% separate(col = Win_Ratio, into = c("Wins", "Games"))
## # A tibble: 252 × 4
## Wins Games Capacity Team
## <chr> <chr> <dbl> <chr>
## 1 5 16 0.957 Cardinals
## 2 5 16 0.948 Cardinals
## 3 5 16 0.954 Cardinals
## 4 5 16 0.949 Cardinals
## 5 5 16 0.962 Cardinals
## 6 5 16 0.961 Cardinals
## 7 5 16 1.01 Cardinals
## 8 5 16 0.999 Cardinals
## 9 7 16 1.02 Falcons
## 10 7 16 1.02 Falcons
## # ℹ 242 more rows