使用 rpy2 为 R 准备 python 字符串
Prepare a python string for R using rpy2
此问题与 and perhaps also to this python objects to rpy2 有关,但两个问题中的 none 完全重叠,第一个实际上没有答案。
我的问题其实很简单。我有一个字符串,比如:
In [21]: strg
Out[21]: 'I want to go home'
我想像这样通过robjects.r(''' ''')
传递给R,例如:
robjects.r('''
test <- gsub("to", "",strg)
''')
当然,当我 运行 时,我得到:Error in gsub("me", "", strg) : object 'strg' not found
。
我没怎么用过 rpy2
(很明显),但我想这与 R 和 Python 看到对象的环境有关。
我尝试了一些方法,比如先将字符串 strg
转换为 robject
,然后将其提供给 robjects.r(''' ''')
,但我收到相同的错误消息。总的来说,我不知道该怎么做才能在 R
环境中看到 strg
。
非常感谢任何帮助!
提前感谢您的宝贵时间!
只需将 strg
值添加到命令字符串:
robjects.r('''
test <- gsub("to", "",''' + strg + ''')
''')
或者,通过使用 .format
:
robjects.r('''
test <- gsub("to", "",%s)
'''.format(strg))
请注意,您需要注意反斜杠,请参阅问题
我建议您创建一个函数,因为可以像调用 Python 函数一样调用 rpy2 公开的 R 函数。
my_func = robjects.r('''
function(strg) {
test <- gsub("to", "",strg)
test
}
''')
my_func(strg)
此问题与
我的问题其实很简单。我有一个字符串,比如:
In [21]: strg
Out[21]: 'I want to go home'
我想像这样通过robjects.r(''' ''')
传递给R,例如:
robjects.r('''
test <- gsub("to", "",strg)
''')
当然,当我 运行 时,我得到:Error in gsub("me", "", strg) : object 'strg' not found
。
我没怎么用过 rpy2
(很明显),但我想这与 R 和 Python 看到对象的环境有关。
我尝试了一些方法,比如先将字符串 strg
转换为 robject
,然后将其提供给 robjects.r(''' ''')
,但我收到相同的错误消息。总的来说,我不知道该怎么做才能在 R
环境中看到 strg
。
非常感谢任何帮助!
提前感谢您的宝贵时间!
只需将 strg
值添加到命令字符串:
robjects.r('''
test <- gsub("to", "",''' + strg + ''')
''')
或者,通过使用 .format
:
robjects.r('''
test <- gsub("to", "",%s)
'''.format(strg))
请注意,您需要注意反斜杠,请参阅问题
我建议您创建一个函数,因为可以像调用 Python 函数一样调用 rpy2 公开的 R 函数。
my_func = robjects.r('''
function(strg) {
test <- gsub("to", "",strg)
test
}
''')
my_func(strg)