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

R代码足够简单:

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

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

有帮助吗?

解决方案

使用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运算符在向量上

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top