This package allows users to scrape projected stats from several sites that have
publicly available projections. Once data is scraped the user can then use functions
within the package to calculate projected points and produce rankings. The package
relies heavily on the vocabulary from the
tidyverse and users will better be
able to use the package if they familiarize themselves with the
of creating code.
Intallation of the
ffanalytics package can be done directly from github:
The following sources are available for scraping:
- For seasonal data: CBS, ESPN, FantasyData, FantasyPros, FantasySharks, FFToday, FleaFlicker, NumberFire, Yahoo, FantasyFootballNerd, NFL, RTSports, Walterfootball
- For weekly data: CBS, ESPN, FantasyData, FantasyPros, FantasySharks, FFToday, FleaFlicker, NumberFire, Yahoo, FantasyFootballNerd, NFL
While the scrape functions allows the user to specify season and week, scraping historical periods will not be successful.
Projection sources are defined as
R6 classes and the
is a list containing the projection sources defined in the pacakge. Review the
source_classes.R file to see how these classes are defined and the
file in the
data-raw directory has all the individual sources defined and running
that script will re-create the
projections_sources object for the package
The main function for scraping data is
scrape_data. This function will pull data
from the sources specified, for the positions specified in the season and week specificed.
To pull data for QBs, RBs, WRs, TEs and DSTs from CBS, ESPN and Yahoo for the 2018
season the user would run:
my_scrape <- scrape_data(src = c("CBS", "ESPN", "Yahoo"), pos = c("QB", "RB", "WR", "TE", "DST"), season = 2018, week = 0)
my_scrape will be a list of tibbles, one for each positon scraped, which contains
the data for each source for that position. In the
speficies the source of the data.
Once data is scraped the projected points can be calculated. this is done with
my_projections <- projections_table(my_scrape)
This will calculate projections using the default settings. You can provide additional
parameters for the
projections_table function to customize the calculations.
?projections_table for details.
Adding additional information
To add rankings information, risk value and ADP/AAV data use the
my_projections <- my_projections %>% add_ecr() %>% add_risk() %>% add_adp() %>% add_aav()
add_ecr will need to be called before
add_risk to ensure that the
ECR data is available for the risk calculation.
add_aav allows to specify sources for ADP and AAV. See
?add_aav for details.
Player data is pulled from MFL when the package loads and stored in the
object. To add player data to the projections table use
add_player_info, which adds
the player names, teams, positions, age, and experience to the data set.
my_projections <- my_projections %>% add_player_info()