如何在管道中过滤标准偏差

时间:2019-02-28 21:31:38

标签: r tidyverse

有没有一种有效的方法可以过滤掉低于2.5标准的数字。管道内的偏差? 我目前正在计算std。管道外部的dev值,然后在管道中使用此值进行过滤。 我确信必须有一种更有效的方法来完成此任务。

0

我当前的方法

set.seed(125)
nd <- data.frame( x = rnorm(1000, 3, .1))

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))