R - DPLYR 筛选器选择正确的行,但filter_不会



简单数据框:

df=data.frame(rpm=c(3000,4000,5000))

dplyr filter命令工作正常:

> filter(df, rpm == 3000)
   rpm
1 3000

但是,我想使用filter_版本,因为我被告知它在功能上更安全。如果不是因为这个,我会坚持subset.以下是发生的情况:

> filter_(df, "rpm" == 3000)
[1] rpm
<0 rows> (or 0-length row.names)

绝对不行。发生了什么事情?

我们可以尝试interp

library(layzeval)
df %>%
     filter_(interp(~ nm==3000, nm=as.name("rpm")))
#   rpm
#1 3000

最新更新