[R] 'text' can't find "x"
Thomas Lumley
tlumley at u.washington.edu
Thu Oct 17 19:45:50 CEST 2002
On Thu, 17 Oct 2002, [iso-8859-1] Göran Broström wrote:
>
> With the default value of 'labels':
>
> > text(x = c(1, 2), y = 5, labels = seq(along = x))
> Error in seq(along = x) : Object "x" not found
>
> A scoping bug? :)
>
> But
>
> > text(x = c(1, 2), y = 5)
>
> is OK. Doesn't give the labels I want, though. But why does it work, i.e.,
> why is 'x' found in this case and not when I write out the default?
>
Explicit arguments are evaluated in the calling environment and the value
is passed to the function. Default arguments are evaluated inside the
function, so that defaults like seq(along=x) work.
Evaluating explicit arguments inside the function would be a Really Bad
Idea, as you would need to know what variables existed inside the
function.
-thomas
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list