管道后报价

时间:2018-08-07 10:58:09

标签: r tidyverse quote magrittr rlang

我正在构建一个函数,并且想在管道(%>%)之后检索变量名称。有可能吗?
当我使用enexpr时,它会给出点号(“ .”)。我期望的答案是“ mpg”,“ cyl”等...

> f <- function(x) enexpr(x)
> mtcars$mpg %>% f()
.
> mtcars %>% map(~f(.))
$mpg
.
$cyl
.
$disp
.
$hp
.
$drat
.
$wt
.
$qsec
.
$vs
.
$am
.
$gear
.
$carb
.

1 个答案:

答案 0 :(得分:2)

如果使用imap,则会在.y中获得名称,而在.x中得到主变量(或仅.)。

例如

c(N1='A',N2='B') %>% imap( ~ .y )