substitute() reading data instead of name
Steven McKinney wrote:
You can either put code such as these first two lines
to grab the names of x and y before you alter x and y
in your function
badplot <-
function(x, y, ylab, xlab, ...)
{
if (missing(ylab)) ylab <- deparse(substitute(y))
if (missing(xlab)) xlab <- deparse(substitute(x))
....
or use another mechanism such as match.call()
anotherbadplot <-
function(x, y, ylab=match.call()$y,
xlab=match.call()$x, ...)
{
....
but I don't see any bug here.
A more direct fix is to put force(ylab) somewhere early in the function, before modifying y.
O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907