library(tidyverse)
library(mosaic)
library(ggplot2)
library(pander)

Background

This data is collected from an advanced data website on football data. This data has collected stats in every offensive player that has played since 2019. It has recorded every significant stat from them from every game they have played. I have decided to focus on the most utilized running backs over the past 3 years and some key stats they have recorded.

NFL_data <- read_csv("nfl_pass_rush_receive_raw_data.csv")
#view(NFL_data)


#glimpse(NFL_data)

Data Wrangling

nfl_rb <- NFL_data %>% 
  filter(pos == "RB") %>% 
  select(c(player_id,pos,player,rush_att,rush_yds,rush_td,targets,rec, rec_yds,fumbles_lost,Off_DKP,rush_yds_before_contact,rush_yac, rush_broken_tackles,rec_yac)) %>% 
  arrange(player_id)

#view(nfl_rb)
rb_stats <- nfl_rb %>% 
  group_by(player) %>% 
  summarise(rush_att = sum(rush_att),rush_yds = sum(rush_yds),rush_td = sum(rush_td), targets = sum(targets), rec = sum(rec), rec_yds = sum(rec_yds), 
            fumbles_lost = sum(fumbles_lost), Off_DKP = sum(Off_DKP), rush_yds_before_contact = sum(rush_yds_before_contact), rush_yac = sum(rush_yac),
            rush_broken_tackles = sum(rush_broken_tackles), rec_yac = sum(rec_yac)) %>%
  filter(rush_att > 550) %>% 
  mutate(rush_ypa = round(rush_yds/rush_att,2), rec_pct = round((rec/targets)*100,2))

Data Visualization

rb_stats %>% 
  ggplot(mapping = aes(reorder(player,rush_ypa),rush_ypa)) +
  geom_col(fill = "mediumblue")+
  coord_flip() +
  labs(title = "Most Yards per Rushing Attempt", subtitle = "Since 2019 w/ over 550 rush attempts",
       x = "Player", y = "Yards per Carry")+
  theme_bw()

This chart shows what running back is the most effective and efficient with the ball when he gets it. As we can see here we have Nick Chubb topping the chart with Taylor and Henry right after him.

rb_stats %>% 
  ggplot(mapping = aes(reorder(player,rec),rec)) +
  geom_col(fill = "purple", position = position_dodge(.3))+
  coord_flip() +
  labs(title = "Receptions for Running Backs", subtitle = "Since 2019 w/ over 550 rush attempts",
       x = "Player", y = "Number of Receptions")+
  theme_bw()

Here are the running backs that get the most receptions. We can see Alvin Kamara leads with Fournette slightly behind with the next highest being over 50 receptions behind them.

pivot_rb <- rb_stats %>% pivot_longer(cols = c(-player),names_to = "type", values_to = "value")
pivot_rb %>% 
  group_by(player) %>% 
  ggplot(mapping = aes(x = player, y= value, fill = type))+
  geom_col()+
  coord_flip()+
  theme_bw()

This chart shows all important statistics for running backs and the total counts of them for each running back. The ones with the most value have the highest chances of being productive and being the best potential picks for a running back in Fantasy Football.

Raw Data Table For Top Rushers

library("DT")

 DT::datatable(rb_stats)

Conclusion

In conclusion, if you are looking at the most efficient running back with the ball. You should favor a player like Nick Chubb. If you value a dual threat back, then you should look for a player like Kamara or Fournette. If you looking for the best potential all around back that gives you the most opportunities to get you fantasy points you should look at Derrick Henry or Dalvin Cook.