7

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

R 代码很简单

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

但我不知道如何使用 r() 函数将我的数据框变量从 python 获取到 R 语句中。感觉好像 rpy2 DataFrame 类中应该有一个 .subset() 函数。但如果它存在,我找不到它。

4

1 回答 1

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)

一个确切的例子不在文档中(可能应该在那里),但它的构成元素是:提取元素向量上的 R 运算符

于 2010-12-05T17:38:40.310 回答