我正在使用rpy2来运行一些R命令。不要问为什么。这一刻是必要的。所以这是代码的一部分。
import pandas.rpy.common as com
from rpy2.robjects import r
#Load emotionsCART decision tree. Successful.
r_dataframe = com.convert_to_r_dataframe(data)
print type(r_dataframe)
(<class 'rpy2.robjects.vectors.DataFrame'>)
r('pred = predict(emotionsCART, newdata = %s)') %(r_dataframe)
这里我要做的是将此r_dataframe传递给计算。我正在使用我之前加载的决策树来预测值。但最后一行给了我一个错误。它说
Traceback (most recent call last):
File "<pyshell#38>", line 1, in <module>
r('pred = predict(emotionsCART, newdata = %s)') %(r_dataframe)
File "C:\Python27\lib\site-packages\rpy2\robjects\__init__.py", line 245, in __call__
p = rinterface.parse(string)
ValueError: Error while parsing the string.
为什么会发生这种情况?
答案 0 :(得分:0)
我认为:
r('pred = predict(emotionsCART, newdata = %s)') %(r_dataframe)
应该是:
r('pred = predict(emotionsCART, newdata = %s)' % (r_dataframe) )
%(r_dataframe)
与r()
部分相关联,而应与''
(字符串)相关联。
但如果没有可重复的例子,很难检查。