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)) #extract rows with data from 2008, 2012, and 2016
str(df2)
## tibble [2,703 × 6] (S3: tbl_df/tbl/data.frame)
##  $ name    : chr [1:2703] "Nstor Abad Sanjun" "Nstor Abad Sanjun" "Nstor Abad Sanjun" "Nstor Abad Sanjun" ...
##  $ sex     : chr [1:2703] "M" "M" "M" "M" ...
##  $ age     : num [1:2703] 23 23 23 23 23 23 25 25 25 25 ...
##  $ team    : chr [1:2703] "Spain" "Spain" "Spain" "Spain" ...
##  $ year    : num [1:2703] 2016 2016 2016 2016 2016 ...
##  $ medalist: logi [1:2703] FALSE FALSE FALSE FALSE FALSE FALSE ...
print(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.

group_df2 <- df2 |>
  group_by(df2$year) |>
  summarize(mean_age = mean(age))

head(group_df2)
## # A tibble: 3 × 2
##   `df2$year` mean_age
##        <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 |>
  group_by(olympic_gymnasts$year) |>
  summarize(mean_of_all_age = mean(age))
head(oly_year)
## # A tibble: 6 × 2
##   `olympic_gymnasts$year` mean_of_all_age
##                     <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

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

Create a data frame that only has the team Japan. Then find the number of gold, silver, and bronze medals they won.

japan_medals <- olympic_gymnasts |>
  filter(team == "Japan") |>
  count(medal)
str(japan_medals)
## tibble [4 × 2] (S3: tbl_df/tbl/data.frame)
##  $ medal: chr [1:4] "Bronze" "Gold" "Silver" NA
##  $ n    : int [1:4] 54 65 47 1050
print(japan_medals)
## # A tibble: 4 × 2
##   medal      n
##   <chr>  <int>
## 1 Bronze    54
## 2 Gold      65
## 3 Silver    47
## 4 <NA>    1050

Discussion: Enter your discussion of results here.

First I passed the olympic_gymnasts dataset to a new data frame called japan_medals. In this data frame, it outputs the number of bronze, silver, and gold medals Japan won in gymnastics. I then use the filter() function to only select rows that included the team Japan. |> and then, I used the count() function to count the number of medals from the team Japan.