名前付きリストの要素に名前でアクセスするにはどうすればよいですか?rpy2 access Rリスト項目の名前を名前、低レベルのインターフェイスで指定しました
私は3つの関数を持っていますが、これらの関数はすべてListSexpVector
クラスのhtest
を返します。そのうちの1つに5つの要素、['method', 'parameter', 'statistic', 'p.value', 'data.name']
があり、その他の番号と順序が異なります。このリストからp.value
,statistic
、parameter
を抽出したいと考えています。 Rで、私はそうのように、$
を使用することができますかなり長いったらしいです
p_val = fit[list(fit.do_slot('names')).index('p.value')]
stat = fit[list(fit.do_slot('names')).index('statistic')]
param = fit[list(fit.do_slot('names')).index('parameter')]
:
はp.value <- fit$p.value
statistic <- fit$statistic
param <- fit$parameter
私はrpy2
で見つかった最良の同等は次のようになります。より良い(より短い、より甘い、Pythonic)方法がありますか?
あり
は良い昔ながらの整数ベースのインデックスです:p_val = fit[3]
stat = fit[2]
param = fit[1]
しかし、それは、位置が変更された場合は動作しませんので、私は別の3をフィッティングしていますので、深刻な制限であります各関数はそれぞれ異なる順序を返します。
ああ、 '.rx2'アクセッサがあります。私はそれについて知らなかった。ドキュメントでそれを見つけられませんでした。ありがとうございました! – Kartik
ここで簡単に説明します:http://rpy2.readthedocs.io/en/version_2.8.x/vector.html#extracting-r-style(現時点ではコード例はありませんが) – lgautier