考虑以下 dataset

为什么我在执行时得到不同的结果:

library(dplyr)
df %>%
  filter(!(w >= 1 | lag(w >= 1, default = F))) %>%
  filter(lag(t, default = T) != t) %>%
  summarise(median = median(r), mad = mad(r))

结果是:
  median      mad
1    664 142.3296


df %>%
  filter(!(w >= 1 | lag(w >= 1, default = F)),
         lag(t, default = T) != t) %>%
  summarise(median = median(r), mad = mad(r))

这使:
  median      mad
1    671 152.7078

最佳答案

见上面的评论,以及:http://cran.rstudio.com/web/packages/dplyr/vignettes/introduction.html



...

关于r - dplyr 中奇怪的过滤器行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29919681/

10-12 17:59