Plot Data and Smoother / Fitted Values
For one-dimensional nonparametric regression, plot the data and fitted values, typically a smooth function, and optionally use segments to visualize the residuals.
plotDS(x, yd, ys, xlab = "", ylab = "", ylim = rrange(c(yd, ys)), xpd = TRUE, do.seg = TRUE, seg.p = 0.95, segP = list(lty = 2, lwd = 1, col = 2), linP = list(lty = 1, lwd = 2.5, col = 3), ...)
x, yd, ys |
numeric vectors all of the same length, representing
(x_i, y_i) and fitted (smooth) values y^_i.
Alternatively, |
xlab, ylab |
x- and y- axis labels, as in |
ylim |
limits of y-axis to be used; defaults to a robust range of the values. |
xpd |
see |
do.seg |
logical indicating if residual segments should be drawn,
at |
seg.p |
segment percentage of segments to be drawn, from
|
segP |
list with named components |
linP |
list with named components |
... |
further arguments passed to |
Non-existing components in the lists segP
or linP
will result in the par
defaults to be used.
plotDS()
used to be called pl.ds
up to November 2007.
Martin Maechler, since 1990
seqXtend()
to construct more smooth ys
“objects”.
data(cars) x <- cars$speed yd <- cars$dist ys <- lowess(x, yd, f = .3)$y plotDS(x, yd, ys) ## More interesting : Version of example(Theoph) data(Theoph) Th4 <- subset(Theoph, Subject == 4) ## just for "checking" purposes -- permute the observations: Th4 <- Th4[sample(nrow(Th4)), ] fm1 <- nls(conc ~ SSfol(Dose, Time, lKe, lKa, lCl), data = Th4) ## Simple plotDS(Th4$Time, Th4$conc, fitted(fm1), sub = "Theophylline data - Subject 4 only", segP = list(lty=1,col=2), las = 1) ## Nicer: Draw the smoother not only at x = x[i] (observations): xsm <- unique(sort(c(Th4$Time, seq(0, 25, length = 201)))) ysm <- c(predict(fm1, newdata = list(Time = xsm))) plotDS(Th4$Time, Th4$conc, ys = list(x=xsm, y=ysm), sub = "Theophylline data - Subject 4 only", segP = list(lwd=2), las = 1)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.