rpy2でインデックスベクトルを取得するにはどうすれば、または存在しない場合は、2つの列を選択できますか?
質問
ここで見つかったRの例と同じことをしたいです。
.
mpg cyl disp hp drat wt ...
Mazda RX4 21.0 6 160 110 3.90 2.62 ...
Mazda RX4 Wag 21.0 6 160 110 3.90 2.88 ...
Datsun 710 22.8 4 108 93 3.85 2.32 ...
で、インデックスベクトルでMPG列とHP列を選択します。
> mtcars[c("mpg", "hp")]
mpg hp
Mazda RX4 21.0 110
Mazda RX4 Wag 21.0 110
Datsun 710 22.8 93
.
この場合はMPGを取得するために、1行を1行ずつ取得するのは簡単です。
import rpy2.robjects as R
R.r['mtcars'][0]
.
しかし、2つの列の選択方法がわからない
import rpy2.robjects as R
R.r['mtcars'][R.vectors.IntVector([0,3])]
.
を与える
TypeError: 'IntVector' object cannot be interpreted as an index
.
r.vectorにある他のすべてのベクトルと同じように(私はそれらすべてを試しました)
だから私の質問は降りるのにどのようにして、rpy2でインデックスベクトルを取得することも、存在しない場合は2列を選択できますか?
ありがとう!
解決
RPYメーリングリストで回答しました。RX / RX2を使用して要素をR-WAYで抽出します(索引付けはRで1つの1つで始まります)。
import rpy2.robjects as R
R.r['mtcars'].rx[R.vectors.IntVector([0,3]).ro + 1]
. 所属していません StackOverflow