Plot a smooth approximation of z over x and y.
Plot a smooth approximation, using loess
by default, of
one variable (z
) against two others (x
and y
).
This panel function should be used with a levelplot
.
panel.2dsmoother(x, y, z, subscripts = TRUE, form = z ~ x * y, method = "loess", ..., args = list(), n = 100)
x, y, z |
data points. If these are missing, they will be looked for in the
environment of |
form, method |
the smoothing model is constructed (approximately) as
|
subscripts |
data indices for the current packet, as passed in by |
... |
further arguments passed on to |
args |
a list of further arguments to the model function ( |
n |
number of equi-spaced points along each of x and y on which to evaluate the smooth function. |
This should work with any model function that takes a formula
argument, and has a predict
method argument.
Felix Andrews felix@nfrac.org
set.seed(1) xyz <- data.frame(x = rnorm(100), y = rnorm(100)) xyz$z <- with(xyz, x * y + rnorm(100, sd = 1)) levelplot(z ~ x * y, xyz, panel = panel.2dsmoother) ## showing data points on the same color scale levelplot(z ~ x * y, xyz, panel = panel.levelplot.points, cex = 1.2) + layer_(panel.2dsmoother(..., n = 200)) ## simple linear regression model levelplot(z ~ x * y, xyz, panel = panel.levelplot.points) + layer_(panel.2dsmoother(..., method = "lm")) ## GAM smoother with smoothness by cross validation if (require("mgcv")) levelplot(z ~ x * y, xyz, panel = panel.2dsmoother, form = z ~ s(x, y), method = "gam")
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.