elo v3.0.1 Unreleased

  • The package title no longer begins with the word “Elo”.

  • Fixed one URL redirect

  • Added a reference to the help page and vignette for elo.glm().

elo v3.0.0 Unreleased

Breaking changes:

  • Restricted the version of R to >= 3.6.

  • Changed the impact of the group() formula special in elo.run(). It now indicates when to update Elos. (#54)

  • Removed elo.run2(), to be replaced by passing arguments to elo.run(). A message is issued when the R backend is used.

  • The [.elo.k() (new) and [.elo.players.matrix() methods now drop any extra classes when j= is specified.

  • Changed a warning to an error in final.elos() when using regressed=TRUE without regression after the last game.

  • elo.glm(), elo.markovchain(), elo.winpct(), elo.colley() now emit NAs for running predictions on groups that haven’t been seen yet. (#56)

Other changes:

  • Added subset= argument to auc() and favored().

  • Added ignore.skipped=FALSE argument to auc(), favored(), and mse() running methods.

  • Added attributes to fitted.elo.running(..., running=TRUE) to indicate the group (i.e., model) from which the prediction arises.

  • Added elo.run.multiteam() for when matchups consist of multiple teams. (#54)

  • Improved documentation, including expanding from 1 to 3 vignettes

  • Fixed a bug with the as.data.frame() method for elo.run() when players() are involved. (#55)

  • Changed how tournament is created (though the data didn’t actually change).

  • Made some methods more explicit: length.elo.k(), is.na.elo.k(), [.elo.k(), is.na.elo.players.matrix()

  • Made one fix for R-devel related to subsetting a vector with a classed object.

elo v2.1.1 2020-01-14

  • Fixed the “Date” in DESCRIPTION.

elo v2.1.0 Unreleased

  • Added elo.colley(), with its corresponding helper functions.

  • Allowed k() to take two arguments, to give differential updates to “team.A” and “team.B”. This has one user-visible effect: as.data.frame.elo.run() now has one more column than it did before, and its column names have changed. (#45)

  • Added elo.run2(), which allows for custom probabilities and updates, but by default returns the same as elo.run() (except more slowly). (#47)

  • Added a pkgdown site: https://eheinzen.github.io/elo/

elo v2.0.0 2019-08-02

New functions/functionality:

New helper methods:

Bug fixes:

elo v1.1.0 2019-01-21

  • Widened the version dependency to R 3.3.0.

  • Allowed players() matrices in elo.run() to find Elos of individual players playing at the same time.

  • Added elo.glm(), a simple function to run logistic regressions on Elo setups.

  • Fixed a bug in the favored() function (used in summary.elo.run()). (#29)

  • Exported and revamped the class structure of the specials allowed in formulas. (#30)

  • Allowed access to elo.model.frame() even when the package isn’t loaded. (#34)

  • Allowed regression to different values for each team. (#35)

elo v1.0.1 2017-12-14

Smaller Changes

  • Fixed a bug with initial Elos and deep copying in C++. (#25)

  • Added an argument to regress() allowing users to stop regressing teams which have stopped playing. (#26)

elo v1.0.0 2017-11-20

This version is not backwards compatible!

Major Changes:

  • Changed the signatures of elo.calc() and elo.update() to match formula interface.

  • Changed elo.calc(), elo.update(), and elo.prob() to S3 generics, and implemented formula methods. The default methods now include options to adjust Elos. (#3)

  • elo.run():

    • elo.run() no longer accepts numeric values for team.A.

    • elo.run() now accepts special functions group() and regress(). If the latter is used, the class of the returned object becomes "elo.run.regressed". (#11, #12, #19, #22)

    • The $elos component of "elo.run" objects has been completely reworked, and now uses 1-based indexing. Because of this, the print.elo.run() method also had to be fixed. (#16)

  • Renamed last() to final.elos() (#9).

  • Changed tournament dataset.

Smaller Changes:

  • The elo package now imports pROC::auc().

  • elo.prob() now accepts vectors of team names (like elo.run()) as input. (#6)

  • Documentation and the vignette have been updated.

New Functions:

elo 0.1.2 2017-08-16

  • Fixed a spelling error in DESCRIPTION.

elo 0.1.1 Unreleased

  • Made the title more succinct.

  • Elaborated the description of the package.

  • Tweak the internal "elo.run" object.

  • Tweaked the README and vignette.

elo 0.1.0 Unreleased