This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
UFC_Dataset <- read_excel("~/Downloads/UFC_Dataset.xls")
UFC_Dataset_2020_Onwards <- read_excel("~/Downloads/UFC_Dataset.xls")
head(UFC_Dataset)
## # A tibble: 6 × 118
## RedFighter BlueFighter RedOdds BlueOdds RedExpectedValue BlueExpectedValue
## <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Jack Hermanss… Joe Pyfer 205 -250 205 40
## 2 Dan Ige Andre Fili -185 154 54.1 154
## 3 Robert Bryczek Ihor Potie… -230 190 43.5 190
## 4 Brad Tavares Gregory Ro… 190 -230 190 43.5
## 5 Michael Johns… Darrius Fl… -155 130 64.5 130
## 6 Rodolfo Vieira Armen Petr… -105 -115 95.2 87.0
## # ℹ 112 more variables: Date <dttm>, Location <chr>, Country <chr>,
## # Winner <chr>, TitleBout <lgl>, WeightClass <chr>, Gender <chr>,
## # NumberOfRounds <dbl>, BlueCurrentLoseStreak <dbl>,
## # BlueCurrentWinStreak <dbl>, BlueDraws <dbl>, BlueAvgSigStrLanded <dbl>,
## # BlueAvgSigStrPct <dbl>, BlueAvgSubAtt <dbl>, BlueAvgTDLanded <dbl>,
## # BlueAvgTDPct <dbl>, BlueLongestWinStreak <dbl>, BlueLosses <dbl>,
## # BlueTotalRoundsFought <dbl>, BlueTotalTitleBouts <dbl>, …
1.) Three columns that are unclear are the columns BlueAvgSigStrLanded, BlueAvgSubAtt, and BlueAvgTDLanded. These numbers are also kept track of on the red fighter so it is really six columns that are unclear before reading documentation. Though someone familiar with MMA may understand these column headers, someone unfamiliar with the world of MMA may not understand the meaning of these column headers immediately. However, the values in these columns cells are where documentation is really important because they define the time interval in which these stats are being kept track of. Without documentation one can assume many things, like are they keeping track of these statistics by round, by the minute, or even by the whole fight? With documentation we know that the strikes stat keeps track of how many strikes a fighters lands per minute, how many submissions they attempt per 15 minutes, and how many takedowns they land per 15 minutes. Without documentation, these numbers could mean anything since we don’t know the time interval they represent. They likely chose to encode the data for strikes every minute because strikes happen often throughout a fight unlike takedowns and submissions that occur at a lower volume which is why their average is taken over 15 minutes or the time for a standard 3 round fight.
2.) Three that maybe unclear even after documentation are the Stance column, Finish Details column, and Finish column. Though what each column contains is easy to understand, to understand the contents maybe more difficult. Those who are not MMA fans may not understand the difference between each stance and what advantages and disadvantages each has. The same logic goes for finish details adn finishes, someone unfamiliar with MMA may not be able to picture how a fight ended if all they have to go off is “kimura” or “U-DEC”. I must find a way to make this clear to my audience and I think I need to state which questions I want to answer and how I want to go about answering them in a clearer way.
3.) The two charts below represent similar ideas but you can see that they are represented in very different ways. The first graph I have done my best to simplify and show if certain stances have an inclination to finish a fight in a certain way. As the graph suggests, proportions of KO’s to submissions across all stances look rather similar. This suggests that stances don’t tell the whole story and won’t be THE determining factor in how a fighter fights. The issue with this is that some may not understand the differences between the three bars and how it makes a fighters style, this is more evident in the second example. There are many different submissions and strikes that can lead to victory, so many that it can be overwhelming for someone new to understand. Also, due to the vastness of techniques the color palettes seem to blend making it difficult to draw meaningful insight from the graph below. For example both kneebar and knees are similar shades of green but one is a submission and the other a strike. I feel like I need to find a middle ground between the 1st and 2nd graph so that I can pull meaningful insights without being overwhelming and confusing. To reduce this I can maybe try to make categories to lower how many bars there are in the graph or find a better palette that distinguishes the bars better. ## Including Plots
You can also embed plots, for example:
library(ggplot2)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
stance_data <- UFC_Dataset_2020_Onwards |>
pivot_longer(cols = c("RedStance", "BlueStance"),
names_to = "Fighter",
values_to = "Stance") |>
filter(!is.na(Stance) & !is.na(Finish)) |>
filter(!Finish %in% c("M-DEC", "S-DEC", "Overturned", "U-DEC"))
ggplot(stance_data, aes(x = Stance, fill = Finish)) +
geom_bar(position = "dodge") +
labs(title = "Fight Finishes by Stance (Excluding Specific Decisions)",
x = "Fighter Stance",
y = "Number of Finishes") +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
scale_fill_brewer(palette = "Set2") +
theme(plot.margin = margin(10, 10, 10, 10))
library(ggplot2)
library(dplyr)
library(tidyr)
stance_data <- UFC_Dataset_2020_Onwards |>
pivot_longer(cols = c("RedStance", "BlueStance"),
names_to = "Fighter",
values_to = "Stance") |>
filter(!is.na(Stance) & !is.na(FinishDetails)) |>
filter(!Finish %in% c("M-DEC", "S-DEC", "Overturned", "U-DEC"))
ggplot(stance_data, aes(x = Stance, fill = FinishDetails)) +
geom_bar(position = "dodge") +
labs(title = "Fight Finishes by Stance (Excluding Specific Decisions)",
x = "Fighter Stance",
y = "Number of Finishes") +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
scale_fill_viridis_d()+
theme(plot.margin = margin(10, 10, 10, 10))
```