Bayesian Bradley-Terry
bbt_run( formula, data, r = numeric(0), rd = numeric(0), init_r = 25, init_rd = 25/3, lambda = NULL, share = NULL, weight = NULL, kappa = 0.5 )
formula | formula which specifies the model. RHS Allows only player rating parameter and it should be specified in following manner:
Users can also specify formula in in different way:
|
---|---|
data | data.frame which contains columns specified in formula, and
optional columns defined by |
r | named vector of initial players ratings estimates. If not specified
then |
rd | rd named vector of initial rating deviation estimates. If not specified
then |
init_r | initial values for |
init_rd | initial values for |
lambda | name of the column in `data` containing lambda values or one
constant value (eg. |
share | name of the column in `data` containing player share in team efforts. It's used to first calculate combined rating of the team and then redistribute ratings update back to players level. Warning - it should be used only if formula is specified with players nested within teams (`player(player|team)`). |
weight | name of the column in `data` containing weights values or
one constant (eg. |
kappa | controls |
A "rating" object is returned:
final_r
named vector containing players ratings.
final_rd
named vector containing players ratings deviations.
r
data.frame with evolution of the ratings and ratings deviations
estimated at each event.
pairs
pairwise combinations of players in analysed events with
prior probability and result of a challenge.
class
of the object.
method
type of algorithm used.
settings
arguments specified in function call.
# the simplest example data <- data.frame( id = c(1, 1, 1, 1), team = c("A", "A", "B", "B"), player = c("a", "b", "c", "d"), rank_team = c(1, 1, 2, 2), rank_player = c(3, 4, 1, 2) ) bbt <- bbt_run( data = data, formula = rank_player | id ~ player(player), r = setNames(c(25, 23.3, 25.83, 28.33), c("a", "b", "c", "d")), rd = setNames(c(4.76, 0.71, 2.38, 7.14), c("a", "b", "c", "d")) ) # nested matchup bbt <- bbt_run( data = data, formula = rank_team | id ~ player(player | team) )