簡體   English   中英

rpy2中數組的索引

[英]Indexing of array in rpy2

我剛剛開始使用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)

謝謝您的幫助...

這樣的事情行嗎?

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

(請注意,維度名稱必須以正確的順序排列-我不是要測試的時間可能是'sigma_stat',並且'fit'應該放在參數列表的末尾)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM