【发布时间】:2017-03-01 12:35:34
【问题描述】:
我正在尝试创建一个允许我以动态方式过滤我的df 的函数;例如,仅对我的df 的部分列施加条件,每次设置不同的阈值等。
这是一个例子。假设这是我的df 的样子:
col1 col2 col3
TRUE 0.2 0.5
TRUE 0.3 0.7
FALSE 0.7 1.5
所以,如果我想在我的 df 上施加 2 个不同的过滤器,我需要写 2 行:
df[df$col1 == TRUE & df$col2 > 0.5]
df[df$col2 < 0.3 & df$col3 > 0.6]
现在假设我有一个包含许多列的df。我正在寻找可以让我避免一次又一次地写整行的东西(使用不同的选择);例如,类似的东西(my_selection 是一个函数):
my_selection (data = df, col1, ==, TRUE, col2, >, 0.5)
my_selection (data = df, col2, <, 0.3, col3, >, 0.6)
您的帮助将不胜感激。
【问题讨论】:
-
也许您正在寻找
?subset? -
@docendodiscimus 如何以动态方式使用
subset?我希望能够在col1和col2的条件下调用此函数一次,而在其他时间使用col2和col3(等等...) -
我不清楚您以动态方式调用函数是什么意思。到目前为止,我只看到您想使用 3 个不同的条件对 data.frame 进行子集化。这些动态调用会是什么样子?
-
@docendodiscimus 我试着用不同的方式写它..希望现在更清楚