R: Inputting Data to fit a Bradley Terry Model

Brat {VGAM} | R Documentation

## Inputting Data to fit a Bradley Terry Model

### Description

Takes in a square matrix of counts and outputs them in a form that is accessible to the `brat` and `bratt` family functions.

### Usage

    Brat(mat, ties = 0 * mat, string = c(">", "=="), whitespace = FALSE)

### Arguments

`mat` | Matrix of counts, which is considered M by M in dimension when there are ties, and M+1 by M+1 when there are no ties. The rows are winners and the columns are losers, e.g., the 2-1 element is now many times Competitor 2 has beaten Competitor 1. The matrices are best labelled with the competitors' names.
`ties` | Matrix of counts. This should be the same dimension as `mat`. By default, there are no ties. The matrix must be symmetric, and the diagonal should contain `NA`s.
`string` | Character. The matrices are labelled with the first value of the descriptor, e.g., `"NZ > Oz"` ‘means’ NZ beats Australia in rugby. Suggested alternatives include `" beats "` or `" wins against "`. The second value is used to handle ties.
`whitespace` | Logical. If `TRUE` then a white space is added before and after `string`; it generally enhances readability. See `CommonVGAMffArguments` for some similar-type information.

### Details

In the VGAM package it is necessary for each matrix to be represented as a single row of data by `brat` and `bratt`. Hence the non-diagonal elements of the M+1 by M+1 matrix are concatenated into M(M+1) values (no ties), while if there are ties, the non-diagonal elements of the M by M matrix are concatenated into M(M-1) values.

### Value

A matrix with 1 row and either M(M+1) or M(M-1) columns.

### Note

This is a data preprocessing function for `brat` and `bratt`.

Yet to do: merge `InverseBrat` into `brat`.

### Author(s)

T. W. Yee

### References

Agresti, A. (2013). Categorical Data Analysis, 3rd ed. Hoboken, NJ, USA: Wiley.

### See Also

`brat`, `bratt`, `InverseBrat`.

### Examples

    journal <- c("Biometrika", "Comm Statist", "JASA", "JRSS-B")
    mat <- matrix(c( NA, 33, 320, 284,   730, NA, 813, 276,
                    498, 68,  NA, 325,   221, 17, 142, NA), 4, 4)
    dimnames(mat) <- list(winner = journal, loser = journal)
    Brat(mat)  # Less readable
    Brat(mat, whitespace = TRUE)  # More readable
    vglm(Brat(mat, whitespace = TRUE) ~ 1, brat, trace = TRUE)

[Package VGAM version 1.1-3 Index]