R: Brief Summary of Model Fit for glm and loglm Models

LRstats {vcdExtra} | R Documentation

## Brief Summary of Model Fit for glm and loglm Models

### Description

For `glm` objects, the `print` and `summary` methods give too much information if all one wants to see is a brief summary of model goodness of fit, and there is no easy way to display a compact comparison of model goodness of fit for a collection of models fit to the same data. All `loglm` models have equivalent glm forms, but the `print` and `summary` methods give quite different results.

`LRstats` provides a brief summary for one or more models fit to the same dataset for which `logLik` and `nobs` methods exist (e.g., `glm` and `loglm` models).

### Usage

    LRstats(object, ...)

    ## S3 method for class 'glmlist'
    LRstats(object, ..., saturated = NULL, sortby = NULL)
    ## S3 method for class 'loglmlist'
    LRstats(object, ..., saturated = NULL, sortby = NULL)
    ## Default S3 method:
    LRstats(object, ..., saturated = NULL, sortby = NULL)

### Arguments

`object` | a fitted model object for which there exists a logLik method to extract the corresponding log-likelihood
`...` | optionally more fitted model objects
`saturated` | saturated model log likelihood reference value (use 0 if deviance is not available)
`sortby` | either a numeric or character string specifying the column in the result by which the rows are sorted (in decreasing order)

### Details

The function relies on residual degrees of freedom for the LR chisq test being available in the model object. This is true for objects inheriting from `lm`, `glm`, `loglm`, `polr` and `negbin`.

### Value

A data frame (also of class `anova`) with columns `c("AIC", "BIC", "LR Chisq", "Df", "Pr(>Chisq)")`. Row names are taken from the names of the model object(s).

### Author(s)

Achim Zeileis

### See Also

`logLik`, `glm`, `loglm`,

`logLik.loglm`, `modFit`

### Examples

    data(Mental)
    indep <- glm(Freq ~ mental+ses,
                    family = poisson, data = Mental)
    LRstats(indep)
    Cscore <- as.numeric(Mental$ses)
    Rscore <- as.numeric(Mental$mental)

    coleff <- glm(Freq ~ mental + ses + Rscore:ses,
                    family = poisson, data = Mental)
    roweff <- glm(Freq ~ mental + ses + mental:Cscore,
                    family = poisson, data = Mental)
    linlin <- glm(Freq ~ mental + ses + Rscore:Cscore,
                    family = poisson, data = Mental)

    # compare models
    LRstats(indep, coleff, roweff, linlin)

[Package vcdExtra version 0.7-1 Index]