如何在另一个文件(例如xyz.R)中调用abc.R文件中定义的函数?
一个补充问题是,如何从R提示符/命令行调用abc.R中定义的函数?
Answers:
你可以调用source("abc.R")
之后source("xyz.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
>
source
一次文件/功能。然后它就在您的工作空间中,您可以随时使用它。如果更改它,则必须重新获得它。如果自转换代码以来函数的功能发生了很大变化,请将它们全部放在一个文件中,并且每次都将整个源代码作为源。您还可以有一个单独的较小文件,该文件可以1.提取较大的函数集,然后2.运行测试用例。在R中,有很多方法可以安排您的工作流程。