Matrix 如何在rpy2中获得索引向量,或者如果没有';不存在,如何选择两列?

Matrix 如何在rpy2中获得索引向量,或者如果没有';不存在,如何选择两列?,matrix,indexing,rpy2,Matrix,Indexing,Rpy2,我想做与这里的R示例相同的事情:。他利用mtcars数据,如下所示: 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列 > mtc

我想做与这里的R示例相同的事情:。他利用mtcars数据,如下所示:

               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 
在rpy2中检索一行很简单,在这种情况下可以获得mpg:

import rpy2.robjects as R
R.r['mtcars'][0]
但是,我不知道如何选择两列

import rpy2.robjects as R
R.r['mtcars'][R.vectors.IntVector([0,3])]
给予

TypeError: 'IntVector' object cannot be interpreted as an index
就像R.vectors中的其他向量一样(我都试过了)

所以我的问题归结为,如何在rpy2中获得索引向量,或者如果不存在,如何选择两列


谢谢

已在rpy邮件列表中回复。使用rx/rx2从R方向提取元素(注意,索引从R中的1开始)


好问题!
import rpy2.robjects as R
R.r['mtcars'].rx[R.vectors.IntVector([0,3]).ro + 1]