【发布时间】:2018-07-26 07:32:56
【问题描述】:
我有以下向量
vec1 = c(0.001, 0.05, 0.003, 0.1)
和一个数据框
df = data_frame( x = seq(0.001, 0.1, length.out = 10), y = seq(0.03, 0.07, length.out = 10), z = seq(0, 0.005, length.out = 10), w = seq(0.05, 0.25, length.out = 10))
我想过滤 df 以便输出包含 df 的行,在每一列中,最小值将是 vec1 - 0.05 的对应值,最大值将是 @987654326 @。
所以在这个例子中,只有前4行满足这个条件(在x我允许-0.049 to 0.501基于vec1的第一个条目,在y我允许0到0.1基于在第二个条目上,依此类推)。
我确信这可以通过 filter_all 和 (.) 来完成,类似于
filter_all(df, all_vars(. >= (vec1(.) - 0.05) & . <= (vec1(.) + 0.05))))
但这不起作用。 我做错了什么?
【问题讨论】: