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

# Creating new data-set df2 that stores the value of year "2008, 2012, 2016" only
df2 <- df |>
  # Filtering recommended years.
  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.

# Creating new data-set average to store the mean value.
average <- df2 |>
  # Grouping by year variable.
  group_by(year) |>
  # Finding out the mean of the age group between (2008, 2012, 2016)
  summarise(average = mean(age, na.rm = TRUE))
average
## # A tibble: 3 × 2
##    year average
##   <dbl>   <dbl>
## 1  2008    21.6
## 2  2012    21.9
## 3  2016    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 |>
  # Grouping by year
  group_by(year) |>
  # Finding out the mean of age for each year.
  summarise(avg = mean(age, na.rm = TRUE))
oly_year
## # A tibble: 29 × 2
##     year   avg
##    <dbl> <dbl>
##  1  1896  24.3
##  2  1900  22.2
##  3  1904  25.1
##  4  1906  24.7
##  5  1908  23.2
##  6  1912  24.2
##  7  1920  26.7
##  8  1924  27.6
##  9  1928  25.6
## 10  1932  23.9
## # ℹ 19 more rows
# Finding the minimum average age
min(oly_year$avg)
## [1] 19.86606

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

# Your R code here
# Which athlete won the most gold medals and which team do they represent?
only_gold <- olympic_gymnasts |>
  # Grouping by team to know the country they played for
  group_by(team) |>
  # Filtering only gold won
  filter(medal == "Gold") |>
  # Counting the name of the player and gold earned
  count(name, sort = TRUE, name = "gold_medal")
only_gold
## # A tibble: 532 × 3
## # Groups:   team [33]
##    team           name                               gold_medal
##    <chr>          <chr>                                   <int>
##  1 Soviet Union   Larysa Semenivna Latynina (Diriy-)          9
##  2 Japan          Sawao Kato                                  8
##  3 Czechoslovakia Vra slavsk (-Odloilov)                      7
##  4 Soviet Union   Borys Anfiyanovych Shakhlin                 7
##  5 Soviet Union   Nikolay Yefimovich Andrianov                7
##  6 Soviet Union   Viktor Ivanovych Chukarin                   7
##  7 Japan          Akinori Nakayama                            6
##  8 Unified Team   Vitaly Venediktovich Shcherbo               6
##  9 China          Zou Kai                                     5
## 10 Hungary        gnes Keleti-Srkny (Klein)                   5
## # ℹ 522 more rows

Discussion: Here, I created a different data-set called only_gold to store the data who won gold medals only and which country they represented. Then, I grouped the data by team to combine all the similar data. I used filter function to only show gold medal. Lastly, I used count function to find the result from top to bottom.