gpt4 book ai didi

r - 捕获函数中输入值的名称

转载 作者:行者123 更新时间:2023-12-04 07:20:58 25 4
gpt4 key购买 nike

我想知道是否有办法捕获参数 study_id 的输入在我下面的函数中。
例如,我在下面的例子中想要的输出是:"study" .这可能吗?

library(rlang)

foo <- function(data, study_id){

study_id <- ensym(study_id)

# names(data[study_id]) # I tried this without success
}

# EXAMPLE OF USE:

dat = data.frame(a=1:3,study=4:6)

foo(dat, study_id = study)

# DESIRED OUTPUT:

> [1] "study"

最佳答案

我们可以使用 as_string

foo <- function(data, study_id){

study_id <- ensym(study_id)

as_string(study_id)
}
-测试
foo(dat, study_id = study)
[1] "study"

base R ,这可以通过 deparse/substitute 来完成
foo1 <- function(data, study_id) deparse(substitute(study_id))
foo1(dat, study_id = study)
[1] "study"

关于r - 捕获函数中输入值的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68504417/

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