一尘不染

使用rpy2为R准备一个python字符串

python

这个问题与R的python变量有关,也许与rpy2的python对象有关,但是两个都没有完全重叠,第一个实际上没有答案。

我的问题实际上非常简单。我有一个字符串,说:

In [21]: strg
Out[21]: 'I want to go home'

我想像这样将它传递给R robjects.r(''' ''')

robjects.r('''

test <- gsub("to", "",strg)

''')

但当然,当我运行此我得到:Error in gsub("me", "", strg) : object 'strg' not found

我并没有使用rpy2太多(很明显),但是我想这与R和Python查看对象的环境有关。

我已经尝试了一些东西,比如改造串strgrobject第一,然后将其输送到robjects.r(''' '''),但我得到了同样的错误消息。总的来说,我不知道该怎么做才能strgR环境中看到。

任何帮助深表感谢!

在此先感谢您的时间!


阅读 202

收藏
2021-01-20

共1个答案

一尘不染

只需将strg值添加到命令字符串中:

robjects.r('''

test <- gsub("to", "",''' + strg + ''')

''')

或者,通过使用.format

robjects.r('''

test <- gsub("to", "",%s)

'''.format(strg))
2021-01-20