Выбор определенной строки из фрейма данных rpy2 - PullRequest
7 голосов
/ 04 декабря 2010

Мой фрейм данных - это данные опроса, которые я получил из файла .csv. Один из столбцов - это возраст, и я собираюсь удалить всех респондентов в возрасте до 18 лет. Затем мне нужно будет изолировать возрастные группы (18–24, 25–35 лет и т. Д.) В свои собственные кадры данных, для которых я могу выполнять распределение частот.

Код R достаточно прост :

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

Но я не могу понять, как использовать функцию r () для получения моей переменной dataframe из python в оператор R. Такое ощущение, что в классе rpy2 DataFrame должна быть функция .subset (). Но если он существует, я не могу его найти.

1 Ответ

10 голосов
/ 05 декабря 2010

Использование 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)

Этого точного примера нет в документации (и, возможно, должно быть там), но его составляющими элементами являются: извлекающие элементы и R операторов на векторах

...