Hi,

I have a problem of variable scope illustrated by the following example
(this examples greatly simplifies the actual code I am working on but I
unfortunately cannot share it). I have two functions, funa and funb: funb
is called within funa. The goal of funb is to modify variables created
within funa and also perform some some action using these variables.
Obviously, there is something wrong with this code because the variables
aa, bb, and cc have different values when they are printed in funa or funb.

I have read the section about scope in the Introduction to R manual and do
not really understand why my code is not working. Any suggestion will be
greatly appreciated.

Thanks

##### CODE STARTS HERE ####

funa <- function(x){
  # here is some code that defines the variables aa, bb, cc
  aa <- 11
  bb <- 21
  cc <- 31
  # fun b uses some input variable of funa to modify aa, bb, and cc
  funb(x)
  cat(sprintf('funa: aa=%s, bb=%s, cc=%s\n',aa,bb,cc))
}

funb <- function(x){

  aa <<- pi*x
  bb <<- 5*x
  cc <<- sin(x)
  cat(sprintf('funb: aa=%s, bb=%s, cc=%s\n',aa,bb,cc))

  # Not executed
  # here is some code that would do something with aa, bb, and cc
  # plot(aa,bb)
}

funa(5)

	[[alternative HTML version deleted]]

