2017-01-31 9 views
0

私は.RDataファイルを3つのオブジェクト(すべてR-DataFrame)を含むシステムに持っています。私はそれらをpandas DataFramesとしてPythonにロードしたいと思います。私が得る問題は、オブジェクトがrpyによってロードされていないことを、唯一の自分の名前である:rpy2 .RDataファイルから複数のデータフレームをパンダにロード

from rpy2.robjects import r 
from rpy2.robjects import pandas2ri 
import pandas as pd 
file="./normalization.RData" 
rf = r.load(file) 
rf 

<StrVector - Python:0x7fdf1a28cb08/R:0x4ce82c8> 
['df1', 'df2', 'df3'] 

f1[2] 

'annodf' 
In [11]: 

のどちらかが名前だけがロードされている、または私はDFSがRDATAから変換/アクセスする方法を理解していません。

誰かがこれに対する解決策を持っていますか?

答えて

0

Ok - 私は、オブジェクトが実際には変数​​にロードされていないことを認識しましたが、R環境を表すrpy2.rojbects.rに入りました。それはトリッキーです!

したがって、次の作品:

import pandas as pd 
from rpy2.robjects import r 
import rpy2.robjects.pandas2ri as pandas2ri 


#load into the env 
file="./normalization.RData" 
rf=r['load'](file) 
rf 

<StrVector - Python:0x7fdf1a28cb08/R:0x4ce82c8> 
['df1', 'df2', 'df3'] 

#acces file in env and convert 
df2=pandas2ri.ri2py_dataframe(r['df2']) 
type(df2) 

pandas.core.frame.DataFrame 
関連する問題