Hi Thanks for these suggestions Kevin.
These are now in the development version of R. Paul [EMAIL PROTECTED] wrote: > This started when I discovered that scatter.smooth (R 2.1.0) has an > undocumented ability to use a formula as the first argument. Then I > discovered the xy.coords function, which seems like a natural fit and a > way to unify scatter.smooth with other plotting functions, so I offer here > a revised version of scatter.smooth that uses the xy.coords function. > > > scatter.smooth <- function (x, y=NULL, span = 2/3, degree = 1, > family = c("symmetric", "gaussian"), > xlab = NULL, > ylab = NULL, > ylim = range(y, prediction$y, na.rm = TRUE), > evaluation = 50, ...) { > xlabel <- if (!missing(x)) > deparse(substitute(x)) > ylabel <- if (!missing(y)) > deparse(substitute(y)) > xy <- xy.coords(x, y, xlabel, ylabel) > > x <- xy$x > y <- xy$y > xlab <- if(is.null(xlab)) xy$xlab > else xlab > ylab <- if(is.null(ylab)) xy$ylab > else ylab > > # if (inherits(x, "formula")) { > # if (length(x) < 3) > # stop("need response in formula") > # thiscall <- match.call() > # thiscall$x <- x[[3]] > # thiscall$y <- x[[2]] > # return(invisible(eval(thiscall, sys.parent()))) > # } > prediction <- loess.smooth(x, y, span, degree, family, evaluation) > plot(x, y, ylim = ylim, xlab = xlab, ylab = ylab, ...) > lines(prediction) > invisible() > } > > 1. I commented out some existing code and my revisions appear before the > commented block. > > 2. The argument list has changed slightly. The original arguments were: > y > xlab=deparse(substitute(x)) > ylab=deparse(substitute(y)) > > 3. With the suggested change, the following examples now work as one > would expect > > attach(cars) > scatter.smooth(speed,dist,main="dist,speed") > scatter.smooth(speed,dist,main="dist,speed",xlab="",ylab="") > scatter.smooth(cars,main="cars") > scatter.smooth(cars,main="cars",xlab="Speed",ylab="Distance") > scatter.smooth(dist~speed,main="dist~speed") > scatter.smooth(dist~speed,main="dist~speed",xlab="") > scatter.smooth(dist~speed,main="dist~speed",ylab="") > > 4. If this revision is accepted, the help page for scatter.smooth should > probably be updated, perhaps using the same definition of the x,y > arguments in the plot.default help page. > > Best, > > Kevin Wright > > ______________________________________________ > R-devel@stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel -- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 [EMAIL PROTECTED] http://www.stat.auckland.ac.nz/~paul/ ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel