Mario Kart character and vehicle statistics datasets from different games of the series.
Currently these entries have been implemented:
- Mario Kart Wii (
mkwii_characters
,mkwii_vehicles
) - Mario Kart 8 (
mk8_characters
,mk8_vehicles
,mk8_wheels
,mk8_gliders
)
The development version from GitHub with:
# install.packages("devtools")
devtools::install_github("aldomann/mariokart")
This is an example which shows how to visually compare statistics from different Mario Kart 8 characters:
library(mariokart)
library(ggplot2)
library(dplyr)
data(mkwii_characters)
data(mk8_vehicles)
mk8_characters %>%
group_by(speed_normal, handling_normal, weight_class) %>%
slice(1) %>%
ggplot() +
aes(x = speed_normal, y = handling_normal, color = weight_class, label = character) +
ggrepel::geom_label_repel(seed = 1, show.legend = FALSE) +
geom_point() +
scale_x_continuous(breaks = seq(2, 5, 0.5)) +
labs(
title = "Character speed vs handling combinations in Mario Kart 8",
x = "Normal speed",
y = "Normal handling",
color = "Weight class"
)
This is an example which shows how to visually compare Mario Kart Wii karts statistics grouped by drifting type:
data(mkwii_vehicles)
mkwii_vehicles %>%
filter(vehicle_type == "bike") %>%
mutate(total_stats = rowSums(select_if(., is.numeric))) %>%
select(starts_with("vehicle"), drift_type, weight_class, total_stats) %>%
arrange(vehicle_class) %>%
ggplot() +
aes(x = reorder(vehicle, total_stats), y = total_stats, fill = vehicle_class) +
geom_col() +
labs(
title = "Bikes in Mario Kart Wii by total statistics",
x = "Kart name",
y = "Total statistics",
fill = "Vehicle class"
) +
facet_grid(drift_type ~ ., scales = "free_y", space = "free_y") +
coord_flip()
This is an example which shows a visual comparison of the best chacarters per weight class in Mario Kart Wii:
data(mkwii_characters)
mkwii_characters %>%
select(-weight) %>%
mutate(total_stats = rowSums(select_if(., is.numeric))) %>%
dplyr::arrange(desc(total_stats)) %>%
group_by(weight_class) %>%
mutate_at(vars(-character, -weight_class, -total_stats), function(x) {x/10}) %>%
slice(1) %>%
ungroup() %>%
select(-weight_class, -total_stats) %>%
ggradar::ggradar(
grid.label.size = 5,
group.point.size = 4,
group.line.width = 1,
axis.labels = c("Speed", "Acceleration", "Handling", "Drift", "Off-road", "Mini-turbo"),
axis.label.size = 4.5,
legend.text.size = 12
)
A graph showing the speed as a function of time when accelerating from a standstill with various characters in Super Mario Kart:
data(smk_acceleration)
smk_acceleration %>%
filter(character %in% c("Mario", "Peach", "Toad", "Bowser")) %>%
ggplot() +
aes(x = time, y = speed, group = character, color = character) +
geom_line() +
geom_point() +
scale_x_continuous(breaks = seq(0, 8, 1)) +
scale_y_continuous(breaks = seq(0, 140, 20)) +
labs(
title = "Speed as a function of time for various characters in Super Mario Kart",
x = "Time (s)",
y = "Speed (km/h)",
color = "Character"
)