gpt4 book ai didi

r - 将 tidyeval 参数转换为字符串

转载 作者:行者123 更新时间:2023-12-05 02:08:42 28 4
gpt4 key购买 nike

我在 R 中有一个简单的函数,... 使用 tidyeval。是否可以将这些更改为字符串?

simple_paste <- function(...){
my_vars <- enquos(...)
paste(..., sep = "_x_")
}

simple_paste(你好,世界)

作为输出,我想得到 "hello_x_world"。我也可以考虑使用 glue 函数或 str_c 而不是 paste,尽管我不确定那样会更好。

最佳答案

将quosure转换为字符然后paste

simple_paste <- function(...) {
purrr::map_chr(enquos(...), rlang::as_label) %>%
paste(collapse="_x_")
}
simple_paste(hello, world)
#[1] "hello_x_world"

或者另一种选择是evaluate 一个表达式

simple_paste <- function(...)  eval(expr(paste(!!! enquos(...), sep="_x_")))[-1]
simple_paste(hello, world)
#[1] "hello_x_world"

如果我们最后需要.csv

simple_paste <- function(...)  eval(expr(paste0(paste(!!! enquos(...), sep="_x_"), ".csv")))[-1]
simple_paste(hello, world)
#[1] "hello_x_world.csv"

关于r - 将 tidyeval 参数转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60644445/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com