[R] Define "local" function

Fernando Saldanha fsaldan1 at gmail.com
Fri Apr 15 16:59:28 CEST 2005


I discovered a bug in a program I am writing which was due to the
program using a global variable within a function.

For example,

myfunc <- function(x) { y}

That is, I made a mistake when defining the function and wrote "y"
when I should have written "x".

However, there was a variable y in the global environment and the
function "worked" but gave the wrong answer.

I would like to avoid this problem by defining a "local" function.
That would mean a function that only accepts as variables those that
were defined within its body or were passed as parameters, and would
generate an error when I try to define it if I am using an "external"
variable. Something like:

> myfunc <- function(x, type = 'local') { y}
Error: using external variable
 
I read the documentation about environments (I still do not understand
a lot of it, have been working with R for four days now), and searched
the newsgroups, but I could not find the way to do this.

Thanks for any suggestions.

FS




More information about the R-help mailing list