Plots to inspect fitted models

Share:

Description

This functions can be used to validate some assumptions of linear regressions, generalized linear regressions and probably more. The idea of this functions is to illustrate possibilities, not to provide fully functional code. The functions work for regression models with continous variables only.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
inspect(mymodel, which = c("select", "sequence", "all"), id = c("all", "none"), ...)
dep(mymodel, id= c("all", "none"), ...)
hnp(mymodel, id= c("all", "none"), ...)
ihp(mymodel, id= c("all", "none"), ...)
ilp(mymodel, id= c("all", "none"), ...)
irp(mymodel, id= c("all", "none"), ...)
lep(mymodel, id= c("all", "none"), ...)
prp(mymodel, id= c("all", "none"), ...)
ryp(mymodel, id= c("all", "none"), ...)
rpp(mymodel, id= c("all", "none"), ...)

Arguments

mymodel

an object of class glm or lm, usually, a result of a call to the function glm or lm

which

a character string defining how the inspection plots for the class of mymodel are presented; one of the following: select select a diagnostic plot from a menu with all plots available (also repeatedly selecting the same plot is possible) sequence plot all available diagnostic plots in a sequence (with the possibility to skip a plot or quit) all plot all available diagnositc plots without user interaction (mainly useful for printing, see examples)

id

a character string or numeric value; in which panel should it be possible to interactively identify values

...

further arguments

Details

The function inspect calls other functions (depending on their class) to inspect the model assumptions.

Value

A list with identified values (row names), one slot for each inspection function.

Methods

signature(mymodel = "ANY")
signature(mymodel = "glm")
signature(mymodel = "lm")

Note

On some devices you are not allowed to resize the window before interactively selecting points

Author(s)

thomas.fabbro@unibas.ch

See Also

plot

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
data(swiss)
model <-  lm(Fertility ~ ., data = swiss)
## Not run: i.lm <- inspect(model, which = "sequence")
## Not run: model2 <- lm(Fertility ~ ., data = swiss[-i.lm,]

## Not run: i.lm <- inspect(model, which = "all", id = "none")


### for printing
## Not run: 
pdf(~/temp/diagnostic.pdf)
inspect(model)
dev.off()

## End(Not run)