2010-12-04 39 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