2011-04-13 25 views
9

我正在使用python和numpy/scipy來爲文本處理應用程序執行正則表達式和詞幹。但我也想用一些R的統計軟件包。如何在numpy和R之間傳遞大數組?

將數據從python傳遞到R的最佳方式是什麼? (並回來?)

另外,我需要備份數組到磁盤在某些時候,所以我打開保存從Python和加載R如果這是最好的解決方案。矩陣非常大(例如100,000 x 10,000),所以使用稀疏矩陣也可能很好。

道歉,如果這是一個轉發。我一直無法找到任何將所有這些碎片放在一起的東西。

+2

問題在於,不同社會企業的交叉發佈並不是一種可行的方式(除了不鼓勵的事實外)。 SE的一個目的是爲特定問題創建一個長久的記錄,可以從例如使用谷歌搜索或轉介網站。通過複製你的問題,你提高了從不同網站獲得不同好答案的可能性,這是公平的,但你最終會接受哪一個?此外,由於您沒有通知stats.SE,這是從SO交叉發佈的,因此只是簡單地遷移。現在,mods必須將它們合併。 – chl 2011-04-13 20:32:32

+0

合併。正如chl所說,請不要在未來的多個網站上發佈相同的問題。 – 2011-04-13 20:53:38

+1

我的錯誤。我首先在交叉驗證問題上提出了這個問題,並被告知它會在這裏更好地工作。在我發佈之後,另一篇帖子也被遷移了。爲了將來的參考,我怎麼能自己移動這個問題?有時很難確定哪個社區更適合回答特定問題。 – Abe 2011-04-13 20:58:28

回答

6
+4

「NumPy數組最好使用HDF標準保存」... HDF非常棒,但如果您只需要將磁盤陣列有效地保存到磁盤上,它就會過度消耗。爲了簡單,高效地保存和加載numpy數組,只需使用'numpy.save'和'numpy.load'即可。這就是他們的意圖,他們避免了酸洗numpy陣列時產生的(巨大的)開銷。當然,如果你想從另一種語言加載數組,HDF可能是一條好路線。 – 2011-04-13 21:09:02

+0

@Joe Kington:+1好點!謝謝。 – 2011-04-13 21:19:32

2

使用RPY,http://rpy.sourceforge.net/,從Python中調用R上。

需要注意的是,R和Python版本都必須是Rpy二進制版本的版本。因此您需要小心安裝。

+0

我得到了一個這個答案的投票。爲什麼?由於我對這些版本的評論?那麼,我相信這是事實真相,提及它是有用的。 – 2016-04-22 22:01:38

0

我不能評論R和Python之間共享的「大數據」,但我比RELy或RPy2使用pyRserve更容易。

這就是說,我很好奇你正在做的文字處理? Python在文本處理方面顯然有很多提供,但從統計學角度來看,在NLTKPattern package from CLiPS等包中也有很多。你是否更習慣於在R中進行統計,或者在Python中是否存在特定的缺失?

+0

>你是否更習慣於在R中進行統計,或者是否有某些特定的Python缺失? Abe 2011-04-13 20:52:50