次のような辞書の Python リストがあります (sqlite3 行ファクトリから取得)。
obs = [{'ave': 0.027, 'pap': 0.277},
{'ave': 0.29, 'pap': 0.333},
{'ave': 0.25, 'pap': 0.5}]
rpy2
これを(バージョン2.3.6)で使用するためにR data.frameに変換したいので、このようになります
ave pap
1 0.027 0.277
2 0.29 0.333
3 0.25 0.5
次のように、単一の「行」を data.frame に変換できます。
robjects.DataFrame(obs[0])
ave pap
1 0.027 0.277
使用robjects.DataFrame(obs)
しても機能しません... ValueError: obj は反復可能なクラスのインスタンス (Python dict、rpy2.rlike.container OrdDict など) またはタイプ VECSXP の rpy2.rinterface.SexpVector のインスタンスのいずれかです
また、使用して OrdDict に変換しようとしましrpy2.rlike.container.OrdDict(obs)
たが、 ValueError: too many values to unpack を取得しました
これを実現するにはさまざまな手法があると思いますが、rpy2 と Python の両方にある多数のデータ構造が私を混乱させます。