Giter Site home page Giter Site logo

nfl4th's Introduction

nflverse

CRAN status Dev status R-CMD-check nflverse support

Overview

The nflverse is a set of packages dedicated to data of the National Football League. The nflverse package is designed to make it easy to install and load core packages from the nflverse in a single command. Please see the nflverse organisation repo on more information about governance, the code of conduct and possible roles.

Installation

The easiest way to get nflverse is to install it from CRAN with:

install.packages("nflverse")

To get a bug fix or to use a feature from the development version, you can install the development version of nflverse either from GitHub with:

if (!require("pak")) install.packages("pak")
pak::pak("nflverse/nflverse")

or prebuilt from the development repo with:

install.packages("nflverse", repos = c("https://nflverse.r-universe.dev", getOption("repos")))

Usage

library(nflverse) will load the following nflverse packages:

  • nflfastR, for play-by-play data back to 1999.
  • nflseedR, for season simulations.
  • nfl4th, for 4th down analysis.
  • nflreadr, for fast end efficient nflverse data downloads.
  • nflplotR, for tools to create visualization of NFL related analysis.

Getting help

The best places to get help on this package are:

Contributing

Many hands make light work! Here are some ways you can contribute to this project:

Terms of Use

The R code for this package is released as open source under the MIT License. NFL data accessed by this package belong to their respective owners, and are governed by their terms of use.

nfl4th's People

Contributors

actions-user avatar guga31bb avatar mrcaseb avatar tanho63 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

peteowen1

nfl4th's Issues

Release nfl4th 1.0.2

Prepare for release:

Submit to CRAN:

  • usethis::use_version('patch')
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted ๐ŸŽ‰
  • usethis::use_github_release()
  • usethis::use_dev_version()

Consider delaying data download

Data downloads are executed on package load. As a result, the package cannot be installed on systems without an Internet connection (which is the case for package builders for RPM creation, connectivity is not allowed there for security reasons). This data could be placed e.g. in user dirs using tools::R_user_dir.

CRAN doesn't allow us to use `rappdirs::user_cache_dir()`

With v1.0.3 we released code to CRAN that creates a user cache directory using rappdirs. We received this lovely mail a couple days later

This uses ~/.cache/nfl4th (and /Users/ripley/Library/Caches/nfl4th on
macOS). That is prohibited under the CRAN policy with which you have
just warranted compliance.
The package is now scheduled for archival on 2023-08-29, and this will
necessitate archiving its CRAN strong reverse dependency, nflverse.
--
Brian D. Ripley, [email protected]
Emeritus Professor of Applied Statistics, University of Oxford

This is a known issue, see r-lib/rappdirs#27 and r-lib/rappdirs#40
So now we are forced to switch over to tools:: R_user_dir() which is problematic because it was introduced with R4.0.0.
The solution is to use the backports package with R versions < 4.0

Fun fact: even the freakin .Rd file of tools:: R_user_dir() claims, that rappdirs works fine.
image

Recommendation strength: Log odds vs Percentage Points

Not sure if this is the correct place for discussion, as new to Github, just point me in the right direction if not.

Seems like the main complaints with the bot currently are either lack of player-based info, or that recommendations seem weird when game is essentially over i.e. model almost always calls a decision a toss-up when win prob. is > 90%

Obviously harder to interpret log-odds instead of percentage points but if people are going to complain that the bot is too on the fence in these situations then maybe log-odds could be considered.

Just a thought, let me know what you think.

Release nfl4th 1.0.1

Prepare for release:

Submit to CRAN:

  • usethis::use_version('patch')
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted ๐ŸŽ‰
  • usethis::use_github_release()
  • usethis::use_dev_version()

Release nfl4th 1.0.4

Prepare for release:

  • git pull
  • Check current CRAN check results
  • Polish NEWS
  • usethis::use_github_links()
  • urlchecker::url_check()
  • devtools::build_readme()
  • devtools::check(remote = TRUE, manual = TRUE)
  • devtools::check_win_devel()
  • revdepcheck::revdep_check(num_workers = 4)
  • Update cran-comments.md
  • git push

Submit to CRAN:

  • usethis::use_version('patch')
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted ๐ŸŽ‰
  • usethis::use_github_release()
  • usethis::use_dev_version(push = TRUE)

Release nfl4th 1.0.0

First release:

Prepare for release:

  • usethis::use_version('major')
  • Polish NEWS
  • devtools::build_readme()
  • urlchecker::url_check()
  • devtools::check(remote = TRUE, manual = TRUE)
  • devtools::check_win_devel()
  • rhub::check_for_cran()
rhub::check_for_cran(
  show_status = FALSE, 
  platforms = rhub::platforms()$name,
  env_vars = c(R_CHECK_FORCE_SUGGESTS = "true", 
               R_CHECK_CRAN_INCOMING_USE_ASPELL = "true", 
               R_COMPILE_AND_INSTALL_PACKAGES = "always"))
  • Check code quality with goodpractice::gp()
  • Update cran-comments.md
  • Review pkgdown reference index for, e.g., missing topics

Submit to CRAN:

  • devtools::release()
  • Approve email

Wait for CRAN...

  • Accepted ๐ŸŽ‰
  • usethis::use_github_release()
  • usethis::use_dev_version()
  • Update install instructions in README
  • Tweet

Take tidyverse out of Suggests

Dear Ben Baldwin,

Your package, nfl4th, lists the tidyverse in either Depends,
Imports, or Suggests in the DESCRIPTION file. This is a bad idea because,
in short, the tidyverse is a set of packages designed for interactive data
analysis, and it includes a very large number (>80) of direct and indirect
dependencies, most of which your package probably doesn't use.

Instead of depending on the entire tidyverse, please import from, suggest,
or depend on the packages in the tidyverse that you actually use. This
will make your package faster to install and will head off potential
problems down the road.

Thanks!

Hadley

Release nfl4th 1.0.1

Prepare for release:

Submit to CRAN:

  • usethis::use_version('patch')
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted ๐ŸŽ‰
  • usethis::use_github_release()
  • usethis::use_dev_version()

Release nfl4th 1.0.3

Prepare for release:

  • git pull
  • Check current CRAN check results
  • Polish NEWS
  • usethis::use_github_links()
  • urlchecker::url_check()
  • devtools::build_readme()
  • devtools::check(remote = TRUE, manual = TRUE)
  • devtools::check_win_devel()
  • revdepcheck::revdep_check(num_workers = 4)
  • Update cran-comments.md
  • git push

Submit to CRAN:

  • usethis::use_version('patch')
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted ๐ŸŽ‰
  • usethis::use_github_release()
  • usethis::use_dev_version(push = TRUE)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.