[R] programming questions

ivo welch ivo.welch at gmail.com
Wed Nov 3 19:17:39 CET 2010


yikes.  this is all my fault.  it was the first thing that I ever
defined when I started using R.

   is.defined <- function(name) exists(as.character(substitute(name)))

I presume there is something much better...

/iaw


On Wed, Nov 3, 2010 at 2:12 PM, Erik Iverson <eriki at ccbr.umn.edu> wrote:
>
>
> ivo welch wrote:
>>
>> quick programming questions.  I want to "turn on" more errors.  there
>> are two traps I occasionally fall into.
>>
>> * I wonder why R thinks that a variable is always defined in a data frame.
>>
>>     > is.defined(d)
>>     [1] FALSE
>>     > d= data.frame( x=1:5, y=1:5 )
>>     > is.defined(d$z)
>>     [1] TRUE
>>     > is.defined(nonexisting$garbage)
>>     [1] TRUE
>
> Which package/version of R is the 'is.defined' function in?
>
> I don't seem to have it here on 2.11.1, which I know is not
> the latest version of R.
>
> What does 'defined' mean?
>
>>
>> this is a bit unfortunate for me, because subsequent errors become
>> less clear.   right now, I need to do '(is.defined(d) and
>> !is.null(d$z))' to check that my function inputs are valid.  It would
>> be nicer if one could just write "if (is.defined(d$z)".
>
> "z" %in% names(d) ?
>
>>
>> * is there a way to turn off automatic recycling?  I would rather get
>> an error than unexpected recycling.  I can force recycling with rep()
>> when I need to.
>>
>> regards,
>>
>> /iaw
>>
>> ----
>> Ivo Welch (ivo.welch at brown.edu, ivo.welch at gmail.com)
>>
>> ______________________________________________
>> R-help at 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.
>



More information about the R-help mailing list