[R] Define "local" function

From: Fernando Saldanha <fsaldan1_at_gmail.com>
Date: Sat 16 Apr 2005 - 00:59:28 EST

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.


R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Sat Apr 16 01:04:51 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:11 EST