管道后引用
Quoting after pipe
我正在构建一个函数并希望在管道 (%>%
) 之后检索变量名称。可能吗?
当我使用 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
.
如果你使用 imap
,你会在 .y
中得到名称,在 .x
中得到主变量(或者只是 .
)。
例如
c(N1='A',N2='B') %>% imap( ~ .y )
我正在构建一个函数并希望在管道 (%>%
) 之后检索变量名称。可能吗?
当我使用 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
.
如果你使用 imap
,你会在 .y
中得到名称,在 .x
中得到主变量(或者只是 .
)。
例如
c(N1='A',N2='B') %>% imap( ~ .y )