winners <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2023/2023-04-25/winners.csv')
## Rows: 163 Columns: 5
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (3): Category, Athlete, Nationality
## dbl (1): Year
## time (1): Time
##
## ℹ 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.
x1 <- c("Men", "Women", "Wheelchair Men", "Wheelchair Women")
athlete_category <- c(
"Men", "Women", "Wheelchair Men", "Wheelchair Women")
y1 <- factor(x1, levels = athlete_category)
y1
## [1] Men Women Wheelchair Men Wheelchair Women
## Levels: Men Women Wheelchair Men Wheelchair Women
Make two bar charts here - one before ordering another after
avgtime_category <- winners %>%
group_by(Category) %>%
summarise(
avg_time_sec = mean(Time, na.rm = TRUE))
avgtime_category
## # A tibble: 4 × 2
## Category avg_time_sec
## <chr> <drtn>
## 1 Men 7643.767 secs
## 2 Wheelchair Men 6343.000 secs
## 3 Wheelchair Women 7781.564 secs
## 4 Women 8585.167 secs
avgtime_category %>%
ggplot(aes(x=avg_time_sec, y = Category)) +
geom_point()
## Don't know how to automatically pick scale for object of type <difftime>.
## Defaulting to continuous.
avgtime_category %>%
ggplot(aes(x=avg_time_sec, y = fct_reorder(.f = Category, .x = avg_time_sec))) +
geom_point()
## Don't know how to automatically pick scale for object of type <difftime>.
## Defaulting to continuous.
Show examples of three functions:
winners %>%
mutate(Cat_rev = fct_recode(Category, "Disabled Men" = "Wheelchair Men")) %>%
select(Category, Cat_rev) %>%
filter(Category == "Wheelchair Men")
## # A tibble: 39 × 2
## Category Cat_rev
## <chr> <fct>
## 1 Wheelchair Men Disabled Men
## 2 Wheelchair Men Disabled Men
## 3 Wheelchair Men Disabled Men
## 4 Wheelchair Men Disabled Men
## 5 Wheelchair Men Disabled Men
## 6 Wheelchair Men Disabled Men
## 7 Wheelchair Men Disabled Men
## 8 Wheelchair Men Disabled Men
## 9 Wheelchair Men Disabled Men
## 10 Wheelchair Men Disabled Men
## # ℹ 29 more rows
winners %>%
mutate(Cat_col = fct_collapse(Category, "Men" = c("Wheelchair Men", "Men"))) %>%
select(Category, Cat_col) %>%
filter(Category != "Women") %>%
filter(Category != "Wheelchair Women") %>%
sample_n(10)
## # A tibble: 10 × 2
## Category Cat_col
## <chr> <fct>
## 1 Men Men
## 2 Men Men
## 3 Wheelchair Men Men
## 4 Men Men
## 5 Men Men
## 6 Wheelchair Men Men
## 7 Wheelchair Men Men
## 8 Men Men
## 9 Men Men
## 10 Wheelchair Men Men
winners %>% count(Category)
## # A tibble: 4 × 2
## Category n
## <chr> <int>
## 1 Men 43
## 2 Wheelchair Men 39
## 3 Wheelchair Women 39
## 4 Women 42
winners %>% mutate(Cat_lump = fct_lump(Category, n = 2)) %>% distinct(Cat_lump)
## # A tibble: 3 × 1
## Cat_lump
## <fct>
## 1 Men
## 2 Women
## 3 Other
No need to do anything here.