我是rpy2的新用户,并且无法使用导入程序导入R软件包'xts'和'quantmod'
代码是:
from rpy2.robjects.packages import importr
xts = importr('xts')
quantmod = importr('quantmod')
错误是:
LibraryError: Conflict when converting R symbol in the package "xts" to a Python symbol (.subset.xts -> _subset_xts while there is already _subset_xts)
LibraryError: Conflict when converting R symbol in the package "quantmod" to a Python symbol (skeleton.TA -> skeleton_TA while there is already skeleton_TA)
对于许多其他软件包,使用importr我没有遇到此问题,例如'stats','graphics','zoo','ggplot2'
版本:
非常感谢任何帮助
答案 0 :(得分:5)
Rpy2的importr()
正在尝试转换任何“。”在R对象名称为“_”用于Python。
但是,只要有两个R对象名称带有“。”或“_”(两个字符对R中的名称有效)rpy2报告错误。这里的R包“xts”定义了两个对象.subset_xts
和.subset.xts
。解决方法是手动指定如何转换名称:
from rpy2.robjects.packages import import
xts = importr("xts", robject_translations = {".subset.xts": "_subset_xts2",
"to.period": "to_period2"})
有关importing R packages的rpy2文档中提供了更多内容。