For glm() models, I often find both the print() and summary() method disappointing if my main interest is seeing how well a given model fits. A basic display would just compare the null model to to my model.

I wrote the function below based on code in some package.
How can I make it so that the df in the table are printed with 0 decimals?

# display basic model fit statistics for a glm object

modelFit.glm <-
function (x, digits = max(3, getOption("digits") - 3), ...)
{
dev <- c(x$null.deviance, x$deviance )
df <- c(x$df.null, x$df.residual)
table <- data.frame(dev, df, c(NA, 1-pchisq(x$deviance, x$df.residual)),
row.names=c("Null model", "Model"))

dimnames(table) <- list(c("Null model", "Model"), c("Deviance", "df", "Pr(>Chi^2)")) title <- paste("Analysis of Deviance Table", "\n\tFormula: ", deparse(x$formula), "\n")
structure(table, heading = title, class = c("anova", "data.frame"))

}

berkeley <- as.data.frame(UCBAdmissions)
berk.mod2 <- glm(Freq ~ Dept * (Gender+Admit), data=berkeley, family="poisson")

> modelFit.glm(berk.mod2)
Analysis of Deviance Table
Formula: Freq ~ Dept * (Gender + Admit)

Deviance df Pr(>Chi^2)
Null model 2650.10 23.00
Model 21.74 6.00 0.001352 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>


--
Michael Friendly Email: friendly AT yorku DOT ca Professor, Psychology Dept.
York University      Voice: 416 736-5115 x66249 Fax: 416 736-5814
4700 Keele Street    http://www.math.yorku.ca/SCS/friendly.html
Toronto, ONT  M3J 1P3 CANADA

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to