使用 rpy2 从 python 调用嵌套的 R 脚本
Calling nested R script from python using rpy2
我有 2 个独立的 R 脚本,例如 func1.R 和 func2.R。两者都是接收输入和 return 输出的函数,例如 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 代码是什么?
您的 func1.R
脚本:
#define function1 here:
func1 <- function(c, d){
}
您的 func2.R
脚本:
#define function 2 that uses function1
source("func1.R")
func2 <- function(a,b){
compute c and d here somehow
e <- func2(c,d)
return e
}
您的 python 代码:
import rpy2.robjects as robjects
def func3(a , b):
path = 'path_to/R_files/'
ro = robjects.r
ro.source(path + "func2.R")
return ro.func3(robjects.FloatVector(a),robjects.FloatVector(b))
我有 2 个独立的 R 脚本,例如 func1.R 和 func2.R。两者都是接收输入和 return 输出的函数,例如 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 代码是什么?
您的 func1.R
脚本:
#define function1 here:
func1 <- function(c, d){
}
您的 func2.R
脚本:
#define function 2 that uses function1
source("func1.R")
func2 <- function(a,b){
compute c and d here somehow
e <- func2(c,d)
return e
}
您的 python 代码:
import rpy2.robjects as robjects
def func3(a , b):
path = 'path_to/R_files/'
ro = robjects.r
ro.source(path + "func2.R")
return ro.func3(robjects.FloatVector(a),robjects.FloatVector(b))