You get what you wanted from do.call(plot,list(x=quote(x),y=quote(y)))
By the time do.call() gets the arguments it doesn't know how y was originally computed, just what values it has. -thomas On Thu, Mar 27, 2014 at 6:17 PM, Rolf Turner <r.tur...@auckland.ac.nz>wrote: > > > I was under the impression that > > do.call(foo,list(x=x,y=y)) > > should yield the same result as > > foo(x,y). > > However if I do > > x <- 1:10 > y <- (x-5.5)^2 > do.call(plot,list(x=x,y=y)) > > I get the expected plot but with the y-values (surrounded by c()) being > printed (vertically) in the left-hand margin of the plot. > > The help for do.call() says: > > The behavior of some functions, such as substitute, will not be the >> same for functions evaluated using do.call as if they were evaluated >> from the interpreter. The precise semantics are currently undefined and >> subject to change. >> > > Am I being bitten by an instance of this phenomenon? Seems strange. > > I would be grateful for enlightenment. > > cheers, > > Rolf Turner > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/ > posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > -- Thomas Lumley Professor of Biostatistics University of Auckland [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.