rpy2测试得到" NotImplementedError:从rpy2 DataFrame转换为pandas'数据帧"在ubuntu上

时间:2013-11-25 21:10:40

标签: python r ubuntu rpy2

如果有人能在这里帮助我,我真的很感激。

我使用的是python 2.7,R 3.0.1的ubuntu 13.10,我已经按照rpy2安装指南成功进行了测试。

使用此命令python -m 'rpy2.tests'通过提示运行测试时出现以下错误:

rpy2 version: 2.3.8
built against R version: 3-0.1--62743
............................................................................................ ............................................................................................ .........................................................................................................E...........................................................
======================================================================

ERROR: testPandas2ri
(rpy2.robjects.tests.testPandasConversions.PandasConversionsTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/rpy2/robjects/tests/testPandasConversions.py", line 74, in testPandas2ri
    pandas_df = robjects.conversion.ri2py(rdataf)
  File "/usr/local/lib/python2.7/dist-packages/rpy2/robjects/pandas2ri.py", line 63, in ri2pandas
    raise NotImplementedError("Conversion from rpy2 DataFrame to pandas' DataFrame")
NotImplementedError: Conversion from rpy2 DataFrame to pandas' DataFrame

----------------------------------------------------------------------
Ran 349 tests in 4.297s

在python解释器中安装时遇到同样的错误。我在哪里可以找到这个转换包?

1 个答案:

答案 0 :(得分:1)

此代码看起来有点不稳定。很明显,有很多人(包括我自己)使用rpy2和pandas,但是rpy2还没有稳定的内置转换器。您可以在当前开发版本的rpy2中尝试this module

from rpy2.robjects.pandas2ri import pands2ri
rpy2.robjects.pandas2ri.activate()

根据源代码中的注释,上面的代码看起来还不稳定,所以最好根据该模块中的函数编写自己的代码。

你也可以试试熊猫的代码。请参阅此处以获取pandas / rpy2接口的文档(自编写本文档以来,该接口实际上已更新):

http://pandas.pydata.org/pandas-docs/dev/r_interface.html

和源代码:

https://github.com/pydata/pandas/blob/master/pandas/rpy/common.py

例如:

import pandas.rpy.common as com
r_dataframe = com.convert_to_r_dataframe(df)

如果你无法弄清楚,请随意提出你遇到的具体问题。