alas, should R not come with an is.defined() function?

?exists

a variable may
never have been created, and this is different from a variable
existing but holding a NULL.  this can be the case in the global
environment or in a data frame.

  > is.null(never.before.seen)
  Error: objected 'never.before.seen' not found
  > is.defined(never.before.seen)  ## I need this, because I do not
want an error:
  [1] FALSE

exists("never.before.seen") #notice the quotes
[1] FALSE


your acs function doesn't really do what I want, either, because {
d=data.frame( x=1:4); exists(acs(d$x)) } tells me FALSE .  I really
need

  > d <- data.frame( x=1:5, y=1:5 )
  > is.defined(d$x)
  TRUE

with(d, exists("x"))

  > is.defined(d$z)
  FALSE

with(d, exists("z"))

  > is.defined(never.before.seen)
  FALSE

exists("never.before.seen")

  > is.defined(never.before.seen$anything)  ## if a list does not
exist, anything in it does not exist either
  FALSE

This one I'm a bit confused about.  If you're
programming a function, then the user either:

1) passes in an object, which is bound to a
local variable, and therefore exists. You can
do checks on that object to see that it conforms
to any constraints you have set.

2) does not pass in the object, in which case
you can test for that with ?missing.

Is writing your own functions for others to
use what you're doing?

--Erik

______________________________________________
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.

Reply via email to