r - 在一个 .R 文件中定义所有函数,从另一个 .R 文件调用它们。如果可以的话怎么办?

标签 r file scope namespaces user-defined-functions

如何在另一个文件(例如 xyz.R)中调用 abc.R 文件中定义的函数?

一个补充问题是,如何从 R 提示符/命令行调用 abc.R 中定义的函数?

最佳答案

您可以调用 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
>

关于r - 在一个 .R 文件中定义所有函数,从另一个 .R 文件调用它们。如果可以的话怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13548266/

相关文章:

R:将多个不同长度列表中的项目相加?

R ggplot2 按组指定单独的颜色渐变

r - 通过匹配日期合并2个数据框

c++ - 在 C++ 中将对象 vector 保存到文件

c++ - 如何检查文件是否复制成功? (可移植解决方案)C++

r - 计算列中连续重复项的数量

java - 文件将多行读取到一个字符串

Ruby:在让出过程中,谁是 block 内的 self?

c - 在 C 中使用作用域

string - for 循环中的变量在每次迭代时都没有重新初始化?