Learn R Programming

VGAM (version 1.1-8)

Brat: 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)

Value

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

columns.

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 NAs.

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.

Author

T. W. Yee

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.

References

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

See Also

brat, bratt, InverseBrat.

Examples

Run this code
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)

Run the code above in your browser using DataLab