【发布时间】:2015-02-06 19:31:11
【问题描述】:
我正在学习 Python 和 R,但在将参数从 Python 传递到名为“Contours”的 R 函数时遇到问题。下面的作品.....
Python (testr.py)
import rpy2.robjects as robjects
robjects.r('''
source('Wrapper.R')
''')
r_myfunc = robjects.globalenv['Contours']
r_myfunc()
R(包装器.R)
source ('./DrawCompRecVark.R')
imageDirectory="./tmp/"
Contours <- function()
{
k=c(0,1)
sens=c(0.8, 0.9, 0.95, 0.995)
spec=0.8
prev=0.001
N=1
uniqueId=1
#graph
prepareSaveGraph(imageDirectory, "PPVkSensSpec-", uniqueId)
DrawSensSpec(k, sens, spec, prev, N)
dev.off()
#save the cNPV graph
prepareSaveGraph(imageDirectory, "cNPVkSensSpec-", uniqueId)
DrawVarcSpec(k, sens, spec, prev, N)
dev.off()
}
如您所知,我对 R 代码中的值的硬编码工作正常,正是从 Python 到 R 的传递让我感到震惊。 我试过这个....
R 函数
Contours <- function(k, sens, spec, prev, N, uniqueId)
并尝试像这样从 Python 传递....
r_myfunc( c(0,1), c(0.8, 0.9, 0.95, 0.995), 0.8, 0.001, 1, 986)
和
r_myfunc( "c(0,1)", "c(0.8, 0.9, 0.95, 0.995)", 0.8, 0.001, 1, 986)
两者都不起作用。有没有人遇到过这个?任何指向正确方向的指针将不胜感激。 JW
【问题讨论】: