Do not change anything in the following chunk
You will be working on olympic_gymnasts dataset. Do not change the code below:
olympics <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2021/2021-07-27/olympics.csv')
olympic_gymnasts <- olympics %>%
filter(!is.na(age)) %>% # only keep athletes with known age
filter(sport == "Gymnastics") %>% # keep only gymnasts
mutate(
medalist = case_when( # add column for success in medaling
is.na(medal) ~ FALSE, # NA values go to FALSE
!is.na(medal) ~ TRUE # non-NA values (Gold, Silver, Bronze) go to TRUE
)
)
More information about the dataset can be found at
https://github.com/rfordatascience/tidytuesday/blob/master/data/2021/2021-07-27/readme.md
Question 1: Create a subset dataset with the following columns only: name, sex, age, team, year and medalist. Call it df.
df<- olympic_gymnasts|>
select(name, sex, age, team, year,medalist)
df
## # A tibble: 25,528 × 6
## name sex age team year medalist
## <chr> <chr> <dbl> <chr> <dbl> <lgl>
## 1 Paavo Johannes Aaltonen M 28 Finland 1948 TRUE
## 2 Paavo Johannes Aaltonen M 28 Finland 1948 TRUE
## 3 Paavo Johannes Aaltonen M 28 Finland 1948 FALSE
## 4 Paavo Johannes Aaltonen M 28 Finland 1948 TRUE
## 5 Paavo Johannes Aaltonen M 28 Finland 1948 FALSE
## 6 Paavo Johannes Aaltonen M 28 Finland 1948 FALSE
## 7 Paavo Johannes Aaltonen M 28 Finland 1948 FALSE
## 8 Paavo Johannes Aaltonen M 28 Finland 1948 TRUE
## 9 Paavo Johannes Aaltonen M 32 Finland 1952 FALSE
## 10 Paavo Johannes Aaltonen M 32 Finland 1952 TRUE
## # ℹ 25,518 more rows
Question 2: From df create df2 that only have year of 2008 2012, and 2016
df2<- df |>
filter (year %in% c(2008,2012,2016))
df2
## # A tibble: 2,703 × 6
## name sex age team year medalist
## <chr> <chr> <dbl> <chr> <dbl> <lgl>
## 1 Nstor Abad Sanjun M 23 Spain 2016 FALSE
## 2 Nstor Abad Sanjun M 23 Spain 2016 FALSE
## 3 Nstor Abad Sanjun M 23 Spain 2016 FALSE
## 4 Nstor Abad Sanjun M 23 Spain 2016 FALSE
## 5 Nstor Abad Sanjun M 23 Spain 2016 FALSE
## 6 Nstor Abad Sanjun M 23 Spain 2016 FALSE
## 7 Katja Abel F 25 Germany 2008 FALSE
## 8 Katja Abel F 25 Germany 2008 FALSE
## 9 Katja Abel F 25 Germany 2008 FALSE
## 10 Katja Abel F 25 Germany 2008 FALSE
## # ℹ 2,693 more rows
Question 3 Group by these three years (2008,2012, and 2016) and summarize the mean of the age in each group.
df2 |>
group_by(year) |>
summarise(
n=n(),
mean_age= mean(age)
)
## # A tibble: 3 × 3
## year n mean_age
## <dbl> <int> <dbl>
## 1 2008 994 21.6
## 2 2012 848 21.9
## 3 2016 861 22.2
Question 4 Use olympic_gymnasts dataset, group by year, and find the mean of the age for each year, call this dataset oly_year. (optional after creating the dataset, find the minimum average age)
oly_year<-olympic_gymnasts|>
group_by(year) |>
summarise (
n=n(),
mean_age = mean(age),
)
oly_year
## # A tibble: 29 × 3
## year n mean_age
## <dbl> <int> <dbl>
## 1 1896 73 24.3
## 2 1900 33 22.2
## 3 1904 317 25.1
## 4 1906 70 24.7
## 5 1908 240 23.2
## 6 1912 310 24.2
## 7 1920 206 26.7
## 8 1924 499 27.6
## 9 1928 561 25.6
## 10 1932 140 23.9
## # ℹ 19 more rows
Question 5 This question is open ended. Create a question that requires you to use at least two verbs. Create a code that answers your question. Then below the chunk, reflect on your question choice and coding procedure
young_gymanists_teams <- olympic_gymnasts |>
group_by(team) |>
summarise(
n=n(),
youngest_avg_gymnasts = mean(age),
) |>
arrange(youngest_avg_gymnasts)
young_gymanists_teams
## # A tibble: 108 × 3
## team n youngest_avg_gymnasts
## <chr> <int> <dbl>
## 1 Ethnikos Gymnastikos Syllogos 1 10
## 2 Bolivia 5 15
## 3 Guatemala 18 16.9
## 4 Peru 4 17
## 5 Barbados 7 18
## 6 Cyprus 6 18
## 7 Namibia 5 18
## 8 Mongolia 49 18.3
## 9 Greece 105 18.5
## 10 Malaysia 9 18.8
## # ℹ 98 more rows
Discussion: Enter your discussion of results here.
My question was “which countries (team) have had the youngest average gymnast over all the years?”To answer this question, I first used the ‘group by’ function to group the dataset by the teams, which were the countries. Next, using the pipe operator (‘and then’) (|>), I used summarise to go into the group, count the numbers of each team, and get the average age per team by using mean (age). Lastly, I used arrange to arrange the ages from youngest to oldest average gymnast age, so that I could look at the youngest average ages specifically. I did this investigation because I thought it would be interesting to see what ages are usually the average in each country. If I could further this investigation,I would try to link it to performance.