rpy2 - 从 rpy2 DataFrame 中选择特定行

标签 rpy2

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

The R code is simple enough :

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)

那个确切的例子不在文档中(可能应该在那里),但它的构成元素是:extracting elementsR operators on vectors

关于rpy2 - 从 rpy2 DataFrame 中选择特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4355783/

相关文章:

r - ipython-notebook:将 rmagic 图打印为 svg

r - 在 jupyter notebook 中在 R 和 Python 之间共享变量

python - 尝试在 Python 中运行 RPY2 并收到错误 0X7e

python - 如何在 Jupyter 笔记本中使用 rpy2 绘制(内联)?

python - 通过 Rpy 排序分位数平均值

Python 和 Rpy2 : Calling plot function with options that have "." in them

Python rpy2 - nls 回归 RRuntimeError

python - 无法将 R 日期序数准确转换为 Python

python - 使用具有混合类型列的 rpy2 将 pandas df 转换为 R data.frame

python - Jupyter + rpy2 输出到命令提示符而不是笔记本单元格