我正在尝试创建一个用Python编写的工具,它执行R脚本(来自文件),在执行变量之前将值注入变量,然后读取输出变量。
rinterface文档提到了解析函数,但没有关于如何执行结果的指示。 C接口包含一个eval函数,但它在Python中似乎不可用。
这是我想要做的一个非常基本的例子:
import rpy2.rinterface as ri
ri.initr()
with open('script.r', 'r') as myFile:
script = myFile.read()
expr = ri.parse(script)
# prepare
ri.globalenv['input'] = ri.IntSexpVector((1, 2, 3, 4))
# execute
#??????????????????
# what to do here ?
#??????????????????
# fetch results
# The script is supposed to store results into a global var named 'output'
result = ri.globalenv['output']
由于
答案 0 :(得分:1)
有几种方法。 一个是:
from rpy2.robjects.packages import importr
base = importr('base')
base.eval(expr)