在dplyr中反转quo()

问题描述 投票:1回答:1

使用dplyr 0.7.4的新quosure语法,我相信我应该能够做像!!quo(1)(期待1)之类的东西,但它会返回错误

library(dplyr)
!!quo(1)
Error in !quo(1) : invalid argument type

为什么这不起作用? (注意,在基数R中,可以做eval(quote(1))。什么是dplyr类似物?)

...是仅在dpl​​yr函数中定义的!!

r dplyr rlang quosure
1个回答
3
投票

!!只在知道tidyeval framework的函数中定义,是的。在普通的R代码中,它意味着两个连续的!(逻辑非)。

相当于eval将是rlang::eval_tidy

eval_tidy(quo(42))
# [1] 42
© www.soinside.com 2019 - 2024. All rights reserved.