2015-09-09 76 views
0

rpy2的文檔令我困惑。在R中,可以使用help()界面來找到我們在R實際工作中的某些事情。例如,help(print)顯示如何使用print();它給出了描述,用法和例子,例如瞭解R和rpy2之間的翻譯

‘print’ prints its argument and returns it _invisibly_ (via 
‘invisible(x)’). It is a generic function which means that new 
printing methods can be easily added for new ‘class’es. 

有一個簡單的方法來找出如何從Rrpy2使用rpy2執行每一種方法?要獲得使用rpy2的幫助,一個會用

>>> from rpy2.robjects.packages import importr 
>>> utils = importr("utils") 
>>> help_doc = utils.help("print") 

,然後將對象轉換爲字符串,看文檔,即str(help_doc)。但是,這隻打印來自R的文檔,它沒有告訴我如何在rpy2中執行print

有沒有更好的方法來快速翻譯Rrpy2

示例:加載數據文件,file.Rdata

R,人們將使用函數load(),即

source("file.Rdata") 

和數據文件被上傳。

rpy2,一個將使用load()功能,並轉換爲Python對象適當,即

>>> import rpy2.robjects as robjects 
>>> robjects.r['load']("file.RData") 

然後,爲了在numpy操縱這些對象,人們會簡單地使用

from rpy2.robjects import numpy2ri 

並使用numpy.asarray()numpy.array()R向量/陣列轉換成numpy陣列。

http://rpy.sourceforge.net/rpy2/doc-2.6/html/numpy.html

+0

鏈接是針對rpy2舊版本的文檔。考慮在URL中將2.2更改爲2.6。 – lgautier

+0

@lgautier你說得對。謝謝! – ShanZhengYang

回答

0

rpy2被提供不同的方式來訪問R數據的結構或功能。

With importr()您有許多便利功能。其中之一是從R手冊頁動態生成Python文檔。

例如,嘗試在IPython中:

In [1]: from rpy2.robjects.packages import importr 

In [2]: base = importr("base") 

In [3]: ?base.print 

對於rpy2具體的數據結構和功能,存在文檔(在考慮的鏈路)。不完美,但隨着時間的推移感謝貢獻和反饋。