[R] How to define a variable in a function that another function uses without using global variables

statguy martinju at mail.com
Wed Jan 18 19:30:18 CET 2012


I would like to know if it is possible to make a function that defines a
variable in another function without setting that variable globally?

I would i.e. be able to define a variables value inside a function ("one
level above) which another function makes use of, without setting this
variable globally.

I have provided this very simple illustrating example.

test1=function(x)
	{
	x+y
	}
test2=function(y1)
	{
	y=y1
	test1(2,y1)
	}

Running the second function results in an error:
> test2(1)
Error in test1(2) : object 'y' not found

I see 2 possible solutions to this, but neither of them is preferred in my
more complex situation:

1. Setting y<<-y_1 globally in test2-function
2. making test1 a function of both x and y.

Is there any other way to do this except from the 2 above? I hope someone
can help me with this.

--
View this message in context: http://r.789695.n4.nabble.com/How-to-define-a-variable-in-a-function-that-another-function-uses-without-using-global-variables-tp4307604p4307604.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list