将python列表作为参数传递给rpy2中的R函数

将python列表作为参数传递给rpy2中的R函数,python,rpy2,Python,Rpy2,我从rpy2开始,使用python进行数据分析。我可以将简单的python变量(如z=2.534)传递给rpy2中的R函数,如下所示: value=robjects.r(''' f<-function(z){ # process and return something } f('''+str(z)+''') ''') value=robjects.r(“”) 试试这样的方法。还有FloatVector和StrVector res = robjects.IntVector([1, 2,

我从rpy2开始,使用python进行数据分析。我可以将简单的python变量(如z=2.534)传递给rpy2中的R函数,如下所示:

value=robjects.r('''
f<-function(z){
# process and return something
}
f('''+str(z)+''')
''')
value=robjects.r(“”)

试试这样的方法。还有FloatVector和StrVector

res = robjects.IntVector([1, 2, 3])

试试这样的方法。还有一个FloatVector和StrVector

res = robjects.IntVector([1, 2, 3])
有关文件建议:

f = robjects.r('''
f<-function(z){
    # process and return something
}''')

value = f(z)
f=robjects.r(“”)
f有关的文件建议:

f = robjects.r('''
f<-function(z){
    # process and return something
}''')

value = f(z)
f=robjects.r(“”)

F问题是写什么来代替'str(z)'。如果在它的位置
res
被传递,错误被提出为
TypeError:无法连接'str'和'IntVector'对象
如果z=[1,2,3]res=robjects.IntVector(z)。也许我不明白你的意思。你可以用print(z)打印z,但它看起来像str()不在Robject上操作。我认为这是您的问题,对吗?您可能可以str单个元素。或者重载str()来处理Robject。问题是写什么来代替“str(z)”。如果在它的位置
res
被传递,则会引发错误,因为
TypeError:如果z=[1,2,3]res=robjects.IntVector(z)。也许我不明白你的意思。你可以用print(z)打印z,但str()似乎不在robjects上运行。我想这是你的问题,对吧?你可能可以str单个元素。或者重载str()来处理robjects。