1

使用 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 函数中定义?

4

1 回答 1

3

!!仅在知道tidyeval 框架的函数中定义,是的。在正常的 R 代码中,它表示两个连续!的 '(逻辑非)。

相当于:eval_rlang::eval_tidy

eval_tidy(quo(42))
# [1] 42
于 2018-03-01T21:39:19.997 回答