lm.case
case statistics for regression analysis
Case statistics for regression analysis.
case.lm
calculates the statistics.
plot.case
plots the cases, one statistic per panel, and
illustrates and itemizes all observations for which the standard
thresholds are exceeded. plot.case
returns a "trellis"
object containing the plot and also places the row.names of the
flagged observations in the variable .lm.case.large
.
panel.case
is a panel function for plot.case
.
- Keywords
- hplot, regression
Usage
case(fit, ...)
## S3 method for class 'lm':
case(fit, lms = summary.lm(fit), lmi = lm.influence(fit), ...)
## S3 method for class 'case':
plot(x, fit,
which=c("stu.res","si","h","cook","dffits",
dimnames(x)[[2]][-(1:8)]), ##DFBETAS
between.in=list(y=4, x=9),
oma=c(0,0,0,4), cex.threshold=if.R(r=1.2, s=1.6),
main.in=list(
paste(deparse(fit$call), collapse=""),
cex=main.cex),
sigma.in=summary.lm(fit)$sigma,
p.in=summary.lm(fit)$df[1]-1,
obs.large=".lm.case.large",
obs.large.env=if.R(r=globalenv(), s=0),
main.cex=NULL,
...)
panel.case(x, y, subscripts, rownames, group.names,
nn, pp, ss, cex.threshold,
par.settings, ## R only. S-Plus ignores this argument
obs.large, obs.large.env,
...)
Arguments
- fit
"lm"
object computed withx=TRUE
- lms
summary.lm(fit)
- lmi
lm.influence(fit)
- x
- In
plot.case
, the matrix output fromcase.lm
containing case diagnostics on each observation in the original dataset. Inpanel.case
, the x variable to be plotted - which
- In
plot.case
, the names of the columns of x that are to be graphed. - between.in
between
trellis/lattice argument.- oma
- In S-Plus, change
par()$oma
to make room for the threshold values. A warning is printed whenpar()$oma
is changed as the delayed printing of trellis objects implies we can't return it to the original value automaticall - cex.threshold
- Multiplier for
cex
for the threshold values. - main.in
main
title forxyplot
. The default main title displays the linear model formula fromfit
.- sigma.in
- standard error for the
fit
. - p.in
- The number of degrees of freedom associated with the fitted model.
- obs.large
- Object name where the names of
all observations for which the standard
thresholds are exceeded will be stored. The default name is
.lm.case.large
. - obs.large.env
- Frame in S-Plus (defaults to 0) and environment in
R (defaults to
globalenv()
) whereobs.large
will be stored. - main.cex
cex
for main title.- ...
- other arguments to
xyplot
- y
- the y variable to be plotted.
- nn
- number of rows in original dataset.
- pp
- The number of degrees of freedom associated with the fitted model.
- ss
- standard error for the
fit
. - subscripts
- trellis/lattice argument, position in the reshaped
dataset constructed by
plot.case
before callingxyplot
. - rownames
- row name in the original data.frame.
- group.names
- names of the individual statistics.
- par.settings
- Used in R as part of the call to
xyplot
. Although this argument is not used in the panel function, it is needed as a formal argument in S-Plus to absorb it out of...
and thereby prevent it from being forwarded to
Details
lm.influence
is part of S-Plus and R
case.lm
and plot.case
are based on:
Section 4.3.3 "Influence of Individual Obervations
in Chambers and Hastie", Statistical Models in S.
Value
case.lm
returns a matrix, with one row for each observation in the original dataset. The columns contain the diagnostic statistics:e
(residuals),h
* (hat diagonals),si
* (deleted standard deviation),sta.res
(standardized residuals),stu.res
* (Studentized deleted resididuals),dffit
(difference in fits, change in predicted y when observation i is deleted),dffits
* (standardized difference in fits, standardized change in predicted y when observation i is deleted),cook
* (Cook's distance), and DFBETAs* (standardized difference in regression coefficients when observation i is deleted, one for each column of the x-matrix, including the intercept).plot.case
returns a"trellis"
object containing the plot (including the starred columns by default) and also places the row.names of the flagged observations in the variable.lm.case.large
. The variable.lm.case.large
is placed by default into frame 0 in S-Plus and intoglobalenv()
in R.panel.case
is a panel function forplot.case
. The variable.lm.case.large
is created one column at a time inside the panel function.
References
Heiberger, Richard M. and Holland, Burt (2004b). Statistical Analysis and Data Display: An Intermediate Course with Examples in S-Plus, R, and SAS. Springer Texts in Statistics. Springer. ISBN 0-387-40270-5.
See Also
#ifndef S-Plus
lm.influence
.
#endif
#ifdef S-Plus
lm.influence
.
#endif
Examples
data(kidney)
kidney2.lm <- lm(clearance ~ concent + age + weight + concent*age,
data=kidney,
na.action=na.exclude, ## recommended
x=TRUE) ## the lm object must be computed with x=TRUE
kidney2.case <- case(kidney2.lm)
## this picture looks much better in portrait, specification is device dependent
## trellis.device(postscript, horizontal=TRUE) ## postscript
## trellis.device(orientation="portrait") ## S-Plus graphsheet
plot(kidney2.case, kidney2.lm, par.strip.text=list(cex=.9),
layout=c(2,3))
.lm.case.large ## object placed by the panel.case function
## into frame 0 in S-Plus by default
## and into globalenv() in R by default