[R] exists() and functions

Jonathan Greenberg greenberg at ucdavis.edu
Fri Jun 25 22:12:01 CEST 2010


Always nice to answer my own question 3 minutes later.  The missing()
function does what I want.  Still, why DOES this exists() statement
fail?  Do functions "auto create" the variables once they are called,
regardless of whether or not they are assigned?

--j

On Fri, Jun 25, 2010 at 1:05 PM, Jonathan Greenberg
<greenberg at ucdavis.edu> wrote:
> I'm a bit confused about how exists() work within a function -- I want
> to test for unassigned variables, but I'm doing tests in the main
> environment to figure out the function, so the variables DO exist in
> the parent environment of a function call.
>
> Why does:
> myfunction <- function(variable_outside_function)
> {
>        print(exists("variable_outside_function",inherit=FALSE))
>        print(exists("another_variable_outside_function",inherit=FALSE))
> }
>
> myfunction()
>
> Return:
> [1] TRUE
> [1] FALSE
>
> I didn't assign anything to variable_outside_function, so I'm unclear
> why it thinks it exists...
>
> --j
>



More information about the R-help mailing list