regr1.plot
plot x and y, with optional straight line fit and display of squared residuals
Plot x
and y
,
with optional fitted line and display of squared residuals.
By default the least squares line is calculated and used.
Any other straight line
can be specified by placing its coefficients in coef.model
.
Any other fitted model can be calculated by specifying the model
argument.
Any other function of one variable can be specified in the
alt.function
argument. At most one of the arguments
model
, coef.model
, alt.function
can be specified.
- Keywords
- models, regression
Usage
regr1.plot(x, y,
model=lm(y~x),
coef.model,
alt.function,
main="put a useful title here",
xlab=deparse(substitute(x)),
ylab=deparse(substitute(y)),
jitter.x=FALSE,
resid.plot=FALSE,
points.yhat=TRUE,
pch=16,
..., length.x.set=51,
x.name,
pch.yhat=16,
cex.yhat=par()$cex*.7,
err=-1)
Arguments
- x
- x variable
- y
- y variable
- model
- Defaults to the simple linear model
lm(y ~ x)
. Any model object with onex
variable, such as the quadraticlm(y ~ x + I(x^2))
can be used. - coef.model
- Defaults to the coefficients of the
model
argument. Other intercept and slope coefficients for a straight line (for example,c(3,5)
) can be entered to illustrate the sense in which they are not "least squares". - alt.function
- Any function of a single argument can be placed
here. For example,
alt.function=function(x) {3 + 2*x + 3*x^2}
. All coefficients must be specified. - main, xlab, ylab
- arguments to
plot
. - jitter.x
- logical. If
TRUE
, the x is jittered before plotting. Jittering is often helpful when there are multiple y-values at the same level of x. - resid.plot
- If
FALSE
, then do not plot the residuals. If"square"
, then callresid.squares
to plot the squared residuals. IfTRUE
(or anything else), then callresid.squares
to plot - points.yhat
- logical. If
TRUE
, the predicted values are plotted. - ...
- other arguments.
- length.x.set
- number of points used to plot the predicted values.
- x.name
- If the
model
argument used a different name for the independent variable, you might need to specify it. - pch
- Plotting character for the observed points.
- pch.yhat
- Plotting character for the fitted points.
- cex.yhat
cex
for the fitted points.- err
- Thedefault
-1
suppresses warnings about out of bound points.
Note
This plot is designed as a pedagogical example for introductory courses.
When resid.plot=="square"
, then we actually see the set of squares
for which the sum of their areas is minimized by the method of "least squares".
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. Smith, W. and Gonick, L. (1993). The Cartoon Guide to Statistics. HarperCollins.
See Also
Examples
hardness <- read.table(hh("datasets/hardness.dat"), header=TRUE)
## linear and quadratic regressions
hardness.lin.lm <- lm(hardness ~ density, data=hardness)
hardness.quad.lm <- lm(hardness ~ density + I(density^2), data=hardness)
anova(hardness.quad.lm) ## quadratic term has very low p-value
par(mfrow=c(1,2))
regr1.plot(hardness$density, hardness$hardness,
resid.plot="square",
main="squared residuals for linear fit",
xlab="density", ylab="hardness",
points.yhat=FALSE,
xlim=c(20,95), ylim=c(0,3400))
regr1.plot(hardness$density, hardness$hardness,
model=hardness.quad.lm,
resid.plot="square",
main="squared residuals for quadratic fit",
xlab="density", ylab="hardness",
points.yhat=FALSE,
xlim=c(20,95), ylim=c(0,3400))
par(mfrow=c(1,1))