【发布时间】:2021-06-18 16:28:50
【问题描述】:
我有 2 个单独的 R 脚本,例如 func1.R 和 func2.R。两者都是接收输入并返回输出的函数,例如 func1(a,b) 和 func2(c,d)。但是,调用 func2.R 来计算 func1.R 中的某些内容,如下所示:
func1<-function(a,b){
compute c and d here somehow
e <- func2(c,d)
return e
}
用于调用单个 R 脚本(如 func3.R)而不使用嵌套调用:
func3<-function(a,b){
e <- a + b
return e
}
以下 Python 工作:
import rpy2.robjects as robjects
def func3(a,b):
path = 'path_to/R_files/'
ro=robjects.r
ro.source(path+"func3.R")
return ro.func3(robjects.FloatVector(a),robjects.FloatVector(b))
使用 func1.R 和 func2.R 的 Python 代码是什么?
【问题讨论】:
-
函数 1 和 2 和 3 是在不同的 R 脚本上还是在同一个 R 脚本上?
-
感谢您的回复。在不同的 R 文件中,func1.R、func2.R 和 func3.R。 func3.R 不是问题的一部分。假设我有 2 个 R 脚本,一个在另一个内部调用。
-
由于它们位于不同的 Rscripts 中,您应该只加载最后一个作为其他 Rscripts 来源的 Rscript。
-
感谢您的回复。在不同的 R 文件中,func1.R、func2.R 和 func3.R。 func3.R 不是问题的一部分。在python中单独调用func3.R没有问题,因为里面没有调用,我提供了python代码。假设我有 2 个 R 脚本,例如 func1.R 和 func2.R,func2.R 在 func1.R 中被调用。
-
我明白你的意思。只需确保 func2.R 脚本的第一行来源 func1.R 脚本,然后仅按照您刚刚显示的方式将 func2.R 来源到 python