Import data

# excel file
data <- read_excel("../00_data/Pokemon Data.xlsx")
data
## # A tibble: 949 × 22
##       id pokemon    species_id height weight base_experience type_1 type_2    hp
##    <dbl> <chr>           <dbl>  <dbl>  <dbl>           <dbl> <chr>  <chr>  <dbl>
##  1     1 bulbasaur           1    0.7    6.9              64 grass  poison    45
##  2     2 ivysaur             2    1     13               142 grass  poison    60
##  3     3 venusaur            3    2    100               236 grass  poison    80
##  4     4 charmander          4    0.6    8.5              62 fire   NA        39
##  5     5 charmeleon          5    1.1   19               142 fire   NA        58
##  6     6 charizard           6    1.7   90.5             240 fire   flying    78
##  7     7 squirtle            7    0.5    9                63 water  NA        44
##  8     8 wartortle           8    1     22.5             142 water  NA        59
##  9     9 blastoise           9    1.6   85.5             239 water  NA        79
## 10    10 caterpie           10    0.3    2.9              39 bug    NA        45
## # ℹ 939 more rows
## # ℹ 13 more variables: attack <dbl>, defense <dbl>, special_attack <dbl>,
## #   special_defense <dbl>, speed <dbl>, color_1 <chr>, color_2 <chr>,
## #   color_f <chr>, egg_group_1 <chr>, egg_group_2 <chr>, url_icon <chr>,
## #   generation_id <dbl>, url_image <chr>

Apply the following dplyr verbs to your data

Filter rows

filter(data, type_1 == "dragon")
## # A tibble: 39 × 22
##       id pokemon   species_id height weight base_experience type_1 type_2     hp
##    <dbl> <chr>          <dbl>  <dbl>  <dbl>           <dbl> <chr>  <chr>   <dbl>
##  1   147 dratini          147    1.8    3.3              60 dragon NA         41
##  2   148 dragonair        148    4     16.5             147 dragon NA         61
##  3   149 dragonite        149    2.2  210               270 dragon flying     91
##  4   334 altaria          334    1.1   20.6             172 dragon flying     75
##  5   371 bagon            371    0.6   42.1              60 dragon NA         45
##  6   372 shelgon          372    1.1  110.              147 dragon NA         65
##  7   373 salamence        373    1.5  103.              270 dragon flying     95
##  8   380 latias           380    1.4   40               270 dragon psychic    80
##  9   381 latios           381    2     60               270 dragon psychic    80
## 10   384 rayquaza         384    7    206.              306 dragon flying    105
## # ℹ 29 more rows
## # ℹ 13 more variables: attack <dbl>, defense <dbl>, special_attack <dbl>,
## #   special_defense <dbl>, speed <dbl>, color_1 <chr>, color_2 <chr>,
## #   color_f <chr>, egg_group_1 <chr>, egg_group_2 <chr>, url_icon <chr>,
## #   generation_id <dbl>, url_image <chr>

Arrange rows

arrange(data, pokemon, type_1)
## # A tibble: 949 × 22
##       id pokemon    species_id height weight base_experience type_1 type_2    hp
##    <dbl> <chr>           <dbl>  <dbl>  <dbl>           <dbl> <chr>  <chr>  <dbl>
##  1   460 abomasnow         460    2.2  136.              173 grass  ice       90
##  2 10060 abomasnow…        460    2.7  185               208 grass  ice       90
##  3    63 abra               63    0.9   19.5              62 psych… NA        25
##  4   359 absol             359    1.2   47               163 dark   NA        65
##  5 10057 absol-mega        359    1.2   49               198 dark   NA        65
##  6   617 accelgor          617    0.8   25.3             173 bug    NA        80
##  7 10026 aegislash…        681    1.7   53               234 steel  ghost     60
##  8   681 aegislash…        681    1.7   53               234 steel  ghost     60
##  9   142 aerodactyl        142    1.8   59               180 rock   flying    80
## 10 10042 aerodacty…        142    2.1   79               215 rock   flying    80
## # ℹ 939 more rows
## # ℹ 13 more variables: attack <dbl>, defense <dbl>, special_attack <dbl>,
## #   special_defense <dbl>, speed <dbl>, color_1 <chr>, color_2 <chr>,
## #   color_f <chr>, egg_group_1 <chr>, egg_group_2 <chr>, url_icon <chr>,
## #   generation_id <dbl>, url_image <chr>

Select columns

select(data, pokemon, attack, hp)
## # A tibble: 949 × 3
##    pokemon    attack    hp
##    <chr>       <dbl> <dbl>
##  1 bulbasaur      49    45
##  2 ivysaur        62    60
##  3 venusaur       82    80
##  4 charmander     52    39
##  5 charmeleon     64    58
##  6 charizard      84    78
##  7 squirtle       48    44
##  8 wartortle      63    59
##  9 blastoise      83    79
## 10 caterpie       30    45
## # ℹ 939 more rows

Add columns

data <- data %>%
  mutate(total_stats = hp + attack + defense + special_attack + special_defense + speed)

Summarize by groups

data %>%
  summarize(
    average_hp = mean(hp, na.rm = TRUE),
    average_attack = mean(attack, na.rm = TRUE),
    average_defense = mean(defense, na.rm = TRUE),
    average_speed = mean(speed, na.rm = TRUE)
  )
## # A tibble: 1 × 4
##   average_hp average_attack average_defense average_speed
##        <dbl>          <dbl>           <dbl>         <dbl>
## 1       69.0           79.5            74.1          69.0

Types & AVG total stats

data %>%
  group_by(type_1) %>%
  summarize(
    average_total_stats = mean(total_stats, na.rm = TRUE)
  )
## # A tibble: 18 × 2
##    type_1   average_total_stats
##    <chr>                  <dbl>
##  1 bug                     388.
##  2 dark                    438.
##  3 dragon                  547.
##  4 electric                425.
##  5 fairy                   424.
##  6 fighting                424.
##  7 fire                    456.
##  8 flying                  485 
##  9 ghost                   444.
## 10 grass                   421.
## 11 ground                  433.
## 12 ice                     429.
## 13 normal                  406.
## 14 poison                  403.
## 15 psychic                 481.
## 16 rock                    455.
## 17 steel                   498.
## 18 water                   433.