0

Python resp を使い始めたばかりです。Rpy2なので本当に初心者です。これまでのところ、Rpy2 を介してロードされた独自の R パッケージを取得することができ、入力変数の結果が生成されます (R の lm() 関数と同等)。私の結果は次のとおりです。

>>> res
<ListVector - Python:0x1561828 / R:0xe6a5c8>
[Matrix, Array]
  coef.f: <class 'rpy2.robjects.vectors.Matrix'>
  [-10.554713, 1.640681, 0.957045, ..., 0.000000, 0.000000, 0.783108]
  pred.f: <class 'rpy2.robjects.vectors.Array'>
  [17.189366, 7.116058, 41.526062, ..., 459.952946, 312.088634, 677.908581]

インデックス 1 を使用して、配列のサブパート (pred.f) を取得することもできます。

>>>res1 = res[1]
>>> res1
<Array - Python:0x1561850 / R:0x4b299d0>
[17.189366, 7.116058, 41.526062, ..., 459.952946, 312.088634, 677.908581]
>>> print res1
, , L=300, AR=1.5, SO=1, T=30

    sigma_stat sigma_mob
fit  17.189366 152.21461
lwr   7.116058  76.98245
upr  41.526062 301.01379

, , L=300, AR=1.5, SO=2, T=30

    sigma_stat sigma_mob
fit   27.62310  284.5423
lwr   14.54639  173.3316
upr   52.45825  467.1449

, , L=300, AR=1.5, SO=3, T=30

    sigma_stat sigma_mob
fit   39.75894  459.9529
lwr   24.07098  312.0886
upr   65.67369  677.9086

ここで、インテリジェントな方法を使用して、この配列内の特定の数値にアクセスしたいと考えています。例えば。sigma_stat,fit,L=300,AR=1.5,SO=3,T=30 の数値を教えてください。これは、配列が 6 次元であることを意味します。

それを行う簡単な方法はありますか?次元名/数値を使用した索引付けのようなもの: res1('sigma_stat','fit','L'=300,'AR'=1.5,'SO'=3,'T'=30)

ご協力ありがとうございました...

4

1 に答える 1

0

このようなものは機能しますか?

res1.rx('sigma_stat', 'fit', 'L=300', 'AR=1.5', 'SO=3', 'T=30')

(次元名は正しい順序である必要があることに注意してください - テストする時間が「sigma_stat」であり、「fit」が引数リストの最後にある必要があるとは思いません)

于 2012-04-14T20:42:56.180 に答える