purrr::map() 不适用于 rlang::as_label() 和/或 rlang::ensym()

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

我想迭代一组数据帧,我想要返回的值之一是数据帧的名称。我使用 rlang::ensym() 和 rlang::as_label() 定义了一个函数,该函数在应用于单个对象时有效,但不适用于 purrr::map()。

提前致谢!

可重现的示例:

function1 <- function(input) {
  return(rlang::as_label(rlang::ensym(input)))
}

input1 <- "a"

function1(input1) ## returns "input1"

output1 <- purrr::map(list(input1), ~function1(.)) 
output1[[1]] ## returns "." want it to return "input1"

output2 <- purrr::map(list(input1), function(x) function1(x)) 
output2[[1]] ## returns "x" want it to return "input1"
r tidyverse purrr rlang
© www.soinside.com 2019 - 2024. All rights reserved.