【发布时间】:2014-08-24 00:22:57
【问题描述】:
我对 rpy2 和 R 都很陌生。
我基本上有一个 R 脚本,script.R,其中包含函数,例如 rfunc(folder)。它与我的 python 脚本位于同一目录中。我想从 Python 中调用它,然后启动它的功能之一。我不需要这个 R 函数的任何输出。我知道它必须非常基本,但我找不到 R 脚本调用 python 代码的示例。 我目前正在做的事情,在 Python 中:
import rpy2.robjects as robjects
def pyFunction(folder):
#do python stuff
r=robjects.r
r[r.source("script.R")]
r["rfunc(folder)"]
#do python stuff
pyFunction(folder)
我在源代码行中遇到错误:
r[r.source("script.R")]
File "/usr/lib/python2.7/dist-packages/rpy2/robjects/__init__.py", line 226, in __getitem__
res = _globalenv.get(item)
TypeError: argument 1 must be string, not ListVector
我很不明白我给它的参数怎么不是一个字符串,我猜同样的问题会在下一行发生,folder 是一个 python 字符串,而不是一个R东西。
那么,我怎样才能正确调用我的脚本呢?
【问题讨论】: