2010-12-04 42 views
7

我的数据框是我从.csv文件获得的调查数据。其中一列是年龄,我希望删除所有18岁以下的受访者。然后,我需要将年龄组(18-24,25-35等)分离到他们自己的数据框中,以便我可以进行频率分布。从rpy2 DataFrame中选择特定行

The R code is simple enough

x.sub <- subset(x.df, y > 2) 

但我无法弄清楚如何使用R()函数来得到我的蟒蛇可变数据帧进入的R声明。感觉好像在rpy2 DataFrame类中应该有一个.subset()函数。但如果它存在,我找不到它。

回答

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) 

那一个确切的例子是文档中没有(也可以是应在那里),但它的构成要素是:extracting elementsR operators on vectors

+0

我明白了。谢谢澄清。赞赏。 – forestfanjoe 2010-12-05 21:00:39