从rpy2 DataFrame中选择特定行

for*_*joe 7 rpy2

我的数据框是我从.csv文件中获得的调查数据.其中一个栏目是年龄,我希望删除所有18岁以下的受访者.然后,我需要将年龄组(18-24,25-35等)分离到他们自己的数据帧中,我可以为其进行频率分配.

R代码很简单:

x.sub <- subset(x.df, y > 2)
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何使用r()函数将我的数据帧变量从python变为R语句.感觉好像在rpy2 DataFrame类中应该有一个.subset()函数.但如果它存在,我找不到它.

lga*_*ier 10

使用rpy2 2.2.0-dev(应与2.1.x相同)

from rpy2.robjects.vectors import DataFrame
dataf = DataFrame.from_csvfile("my/file.csv")

dataf_subset = dataf.rx(dataf.rx2("age").ro >= 18, True)
Run Code Online (Sandbox Code Playgroud)

那个确切的例子不在文档中(可能应该在那里),但它的构成元素是:在向量上提取元素R运算符