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.