rpy2 importr не работает с xts и quantmod

Я новичок в rpy2, и у меня возникли проблемы с использованием importr для импорта пакетов 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 для многих других пакетов, например. «статистика», «графика», «зоопарк», «ggplot2»

Версии:

  • версия питона 2.7.3
  • Р версия 2.15.2
  • rpy2 версия «2.3.0beta1»

Любая помощь будет принята с благодарностью


person PHC    schedule 30.11.2012    source источник


Ответы (1)


importr() Rpy2 пытается преобразовать любой "." в именах объектов 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"})

Дополнительные сведения о импорт пакетов R.

person lgautier    schedule 30.11.2012
comment
Удивительно, но это также происходит (по крайней мере, со мной) при импорте stats. Мне пришлось перетранслировать format.perc во что-то отличное от дефолтного, так как format_perc тоже существует. - person LondonRob; 11.08.2015