> > -----Original Message----- > From: r-devel-boun...@r-project.org on behalf of Joerg Betzin > Sent: Wed 3/25/2009 8:47 AM > To: r-devel@r-project.org > Subject: [Rd] linking environments > > Dear R-helpers, > > I try to use nested R-functions as follows:
Looks like a question for R-help, not R-devel. It's better to post such questions to the r-h...@r-project.org mailing list. > > help1 = function(){ > x = 1 > help2() > } > > with > > help2 = function(){ > if (x == 1) > cat("Hello world x = 1") > } > > If I compile these functions and run help1() > an error message occurs > Fehler in help2() : objekt "x" nicht gefunden > > in english "error in help2(): object "x" not found" > Why not pass the value of x from help1 to help2? help1 <- function(){ x <- 1 help2(x) } help2 <- function(x){ if (x == 1) cat("Hello world x = 1") } > help1 <- function(){ + x <- 1 + help2(x) + } > > > > help2 <- function(x){ + if (x == 1) + cat("Hello world x = 1") + } > > > > help1() Hello world x = 1> (No compiling is involved.) > If I change help1 to > > help1 = function(){ > x <<- 1 > help2() > } > > so that "x" is now defined at the global environment it works fine. > But the problem is, now "x" is defined also outside of help1 and this is > not desired ! > > Is there any usable solution for this problem? > But, the original problem is to assign new values for "x" in help1 inside > help2 ! Is this a homework problem? Some reading of ?environment will help answer this. > > Thanks in advance > > Jörg Betzin > --------------------------------------------------- > Deutsches Zentrum für Altersfragen > Manfred-von-Richthofen-Str. 2 > 12101 Berlin > Tel. (030) 260740-20 > E-Mail: joerg.bet...@dza.de > URL: http://www.dza.de > --------------------------------------------------- > > [[alternative HTML version deleted]] > Steven McKinney, Ph.D. Statistician Molecular Oncology and Breast Cancer Program British Columbia Cancer Research Centre email: smckinney +at+ bccrc +dot+ ca tel: 604-675-8000 x7561 BCCRC Molecular Oncology 675 West 10th Ave, Floor 4 Vancouver B.C. V5Z 1L3 Canada ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel