R: Bradley-Terry Model Fitting Function

btmodel {psychotools} | R Documentation

## Bradley-Terry Model Fitting Function

### Description

`btmodel` is a basic fitting function for simple Bradley-Terry models.

### Usage

    btmodel(y, weights = NULL, type = c("loglin", "logit"), ref = NULL,
      undecided = NULL, position = NULL, start = NULL, vcov = TRUE, estfun =
      FALSE, ...)

### Arguments

`y` | paircomp object with the response.
`weights` | an optional vector of weights (interpreted as case weights).
`type` | character. Should an auxiliary log-linear Poisson model or logistic binomial be employed for estimation? The latter is not available if undecided effects are estimated.
`ref` | character or numeric. Which object parameter should be the reference category, i.e., constrained to zero?
`undecided` | logical. Should an undecided parameter be estimated?
`position` | logical. Should a position effect be estimated?
`start` | numeric. Starting values when calling `glm.fit`.
`vcov` | logical. Should the estimated variance-covariance be included in the fitted model object?
`estfun` | logical. Should the empirical estimating functions (score/gradient contributions) be included in the fitted model object?
`...` | further arguments passed to functions.

### Details

`btmodel` provides a basic fitting function for Bradley-Terry models, intended as a building block for fitting Bradley-Terry trees and Bradley-Terry mixtures in the psychotree package, respectively. While `btmodel` is intended for individual paired-comparison data, the eba package provides functions for aggregate data.

`btmodel` returns an object of class `"btmodel"` for which several basic methods are available, including `print`, `plot`, `summary`, `coef`, `vcov`, `logLik`, `estfun` and `worth`.

### Value

`btmodel` returns an S3 object of class `"btmodel"`, i.e., a list with components as follows.

`y` | paircomp object with the response
`coefficients` | estimated parameters on log-scale (without the first parameter which is always constrained to be 0),
`vcov` | covariance matrix of the parameters in the model,
`loglik` | log-likelihood of the fitted model,
`df` | number of estimated parameters,
`weights` | the weights used (if any),
`n` | number of observations (with non-zero weights),
`type` | character for model type (see above),
`ref` | character for reference category (see above),
`undecided` | logical for estimation of undecided parameter (see above),
`position` | logical for estimation of position effect (see above),
`labels` | character labels of the objects compared,
`estfun` | empirical estimating function (also known as scores or gradient contributions).

### See Also

`pcmodel`, `rsmodel`, `raschmodel`, the eba package

### Examples

    o <- options(digits = 4)

    ## data
    data("GermanParties2009", package = "psychotools")

    ## Bradley-Terry model
    bt <- btmodel(GermanParties2009$preference)
    summary(bt)
    plot(bt)

    options(digits = o$digits)

[Package psychotools version 0.4-2 Index]