有没有一种有效的方法可以过滤掉低于2.5标准的数字。管道内的偏差? 我目前正在计算std。管道外部的dev值,然后在管道中使用此值进行过滤。 我确信必须有一种更有效的方法来完成此任务。
0
我当前的方法
set.seed(125)
nd <- data.frame( x = rnorm(1000, 3, .1))
答案 0 :(得分:2)
您可以使用abs()
重新排列方程式以简化操作,并且只使用一次sd()
:
... %>%
filter(abs(x - mean(x)) < 2.5 * sd(x))
# or use the built-in `scale()` function
... %>%
filter(abs(scale(x)) < 2.5)
# or, as in comments, use between
... %>%
filter(between(x, x - 2.5 * sd(x), x + 2.5 * sd(x)))
# or some between instead of abs()
... %>%
filter(between(scale(x), -2.5, 2.5))