使用 dplyr 0.7.4 的新 quosure 语法,我相信我应该能够做类似!!quo(1)
(expecting 1
) 的事情,但它返回错误
library(dplyr)
!!quo(1)
Error in !quo(1) : invalid argument type
为什么这不起作用?(请注意,在基础 R 中,可以做到eval(quote(1))
。什么是 dplyr 类似物?)
...!!
仅在 dplyr 函数中定义?
!!
仅在知道tidyeval 框架的函数中定义,是的。在正常的 R 代码中,它表示两个连续!
的 '(逻辑非)。
相当于:eval
_rlang::eval_tidy
eval_tidy(quo(42))
# [1] 42