在一个.R文件中定义所有的函数,从另一个.R文件中调用它们。 如果可能,怎么样?
如何在另一个文件中调用abc.R文件中定义的函数,比如xyz.R?
补充问题是,如何从R提示符/命令行中调用abc.R中定义的函数?
你可以调用source("abc.R")
然后调用source("abc.R")
(假设这两个文件都在你当前的工作目录中)。
如果abc.R是:
fooABC <- function(x) { k <- x+1 return(k) }
和xyz.R是:
fooXYZ <- function(x) { k <- fooABC(x)+1 return(k) }
那么这将工作:
> source("abc.R") > source("xyz.R") > fooXYZ(3) [1] 5 >
即使有周期性的依赖关系,这也是可行的。
例如,如果abc.R是这样的:
fooABC <- function(x) { k <- barXYZ(x)+1 return(k) } barABC <- function(x){ k <- x+30 return(k) }
和xyz.R是这样的:
fooXYZ <- function(x) { k <- fooABC(x)+1 return(k) } barXYZ <- function(x){ k <- barABC(x)+20 return(k) }
然后,
> source("abc.R") > source("xyz.R") > fooXYZ(3) [1] 55 >