使用dplyr 0.7.4的新quosure语法,我相信我应该可以执行类似!!quo(1)
(期待1
)的操作,但它会返回错误
library(dplyr)
!!quo(1)
Error in !quo(1) : invalid argument type
为什么这不起作用? (注意,在基数R中,可以做eval(quote(1))
。什么是dplyr模拟?)
...仅在{dplyr函数中定义!!
?
答案 0 :(得分:3)
!!
仅在知道tidyeval framework的函数中定义,是的。在普通的R代码中,它表示两个连续的!
' s(逻辑非)。
相当于eval
将是rlang::eval_tidy
:
eval_tidy(quo(42))
# [1] 42