如何在numpy和R之间传递大数组?

9 投票
3 回答
4078 浏览
提问于 2025-04-16 15:40

我正在使用Python和numpy/scipy来处理文本,做一些正则表达式和词干提取的工作。不过,我也想用一些R语言的统计包。

请问从Python把数据传到R的最佳方法是什么?(还有从R返回到Python呢?)

另外,我需要在某个时候把数组备份到磁盘,所以如果从Python保存数据然后在R中加载是最好的解决方案,我也很乐意尝试。因为我的矩阵比较大(比如说100,000行 x 10,000列),所以使用稀疏矩阵可能也会比较好。

如果这已经被问过了,我表示歉意。我一直找不到把这些内容整合在一起的资料。

3 个回答

0

我不能评论在R和Python之间共享的“大型数据”,但我发现使用pyRserve比使用RPy或RPy2要简单得多。

话虽如此,我很好奇你在做什么样的文本处理?显然,Python在文本处理方面有很多优势,但在统计方面,像NLTKCLiPS的Pattern包也有很多强大的工具。你是觉得在R中做统计更舒服,还是在Python中缺少了什么特定的功能呢?

2

可以使用 Rpy,网址是 http://rpy.sourceforge.net/,来从 Python 调用 R 语言。

需要注意的是,R 和 Python 的版本必须与 Rpy 这个工具所支持的版本完全一致。所以在安装的时候要特别小心。

6

撰写回答