2010-12-04 31 views
7

Ma trame de données est une donnée d'enquête obtenue à partir d'un fichier .csv. L'une des colonnes est l'âge et je cherche à supprimer tous les répondants de moins de 18 ans. Je devrai ensuite isoler les groupes d'âge (18-24, 25-35, etc.) dans leurs propres bases de données pour lesquelles je peux faire des distributions de fréquences.Sélection d'une ligne spécifique à partir d'un DataFrame rpy2

The R code is simple enough:

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

Mais je ne peux pas comprendre comment utiliser la fonction r() pour obtenir ma variable dataframe de python dans une déclaration de R. Il semble qu'il devrait y avoir une fonction .subset() dans la classe rpy2 DataFrame. Mais si cela existe, je ne peux pas le trouver.

Répondre

10

L'utilisation rpy2 2.2.0-dev (devrait être la même chose avec 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) 

Ce un exemple exact n'est pas dans la documentation (et peut-être devrait être là), mais il constitue des éléments sont: extracting elements et R operators on vectors

+0

Je vois. Merci d'avoir clarifié cela. Apprécié. – forestfanjoe