Here is an example of making a list of environments, each containing a function called 'f' that was defined in an R script file.
First I make examples of the sort of files I think you are thinking of; each defines 'f'. The file names are in the character vector 'tfs'. > tfs <- vapply(1:3, function(i){ tf <- tempfile(); cat("f <- function(x)x +", i, "\n", file=tf) ; tf}, FUN.VAL="") > readLines(tfs[2]) # the 2nd file [1] "f <- function(x)x + 2 " Now parse and evaluate each file in its own environment: > funEnvs <- lapply(tfs, function(file) { envir <- new.env() ; eval(parse(file), envir=envir) ; envir }) Now try using 'f' that was defined in the 2nd file: > funEnvs[[2]]$f(100) [1] 102 Now try using all of the 'f's: > vapply(funEnvs, function(envir) envir$f(100), FUN.VAL=0) [1] 101 102 103 Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On > Behalf > Of Martin Batholdy > Sent: Saturday, August 03, 2013 2:05 PM > To: r-help@r-project.org > Subject: Re: [R] import function without overwriting function with the same > name > > > env.lst <- lapply(1:5, new.env) > > > > seems to work just fine > > ok, as far as I understand I would create 5 new environments by this. > But how do I access and change the environment? > What is the name of the environment? > > > Here is a more concrete example and the general problem: > > source('functions1.R') > source('functions2.R') > > now functions1.R and functions2.R contain function definitions with the same > function- > names. > So as soon as I execute source('functions2.R'), I overwrite the function > definitions > already imported by source('functions1.R'). > > How can I avoid this? > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.