2010-12-04 29 views
7

Mi marco de datos es datos de encuestas que obtuve de un archivo .csv. Una de las columnas es la edad y estoy buscando eliminar a todos los encuestados menores de 18 años. Luego necesitaré aislar grupos de edades (18-24, 25-35, etc.) en sus propios marcos de datos para los que pueda hacer distribuciones de frecuencia.Seleccionar una fila específica de un DataFrame rpy2

The R code is simple enough:

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

Pero no puedo encontrar la manera de utilizar la función r() para obtener mi variable de trama de datos de Python en un comunicado R. Se siente como si debería haber una función .subset() en la clase rpy2 DataFrame. Pero si existe, no puedo encontrarlo.

Respuesta

10

Usando rpy2 2.2.0-dev (debe ser la misma con 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) 

Que un ejemplo exacto no está en la documentación (y puede ser que debería estar allí), pero está constituyendo elementos son: extracting elements y R operators on vectors

+0

Ya veo. Gracias por aclarar eso. Apreciado. – forestfanjoe

Cuestiones relacionadas