gpt4 book ai didi

r - 将函数调用转换为 R 中的字符

转载 作者:行者123 更新时间:2023-12-03 15:48:12 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to convert variable (object) name into String [duplicate]

(1 个回答)


去年关闭。




我有一个更复杂的函数,但它的最小版本归结为以下我需要将用户输入的函数转换为字符的地方。但我不知道如何做到这一点(我也尝试了一堆无效的 rlang 黑客)。

foo <- function(.f) {
if (as.character(.f) == "stats::lm") {
print("this is lm")
} else {
print("this is not lm")
}
}

foo(stats::lm)
#> Error in as.character(.f): cannot coerce type 'closure' to vector of type 'character'
我怎样才能做到这一点?

最佳答案

也许这会奏效?

    deparse(substitute(stats::lm))
[1] "stats::lm"
所以使用你的功能:
> foo <- function(.f) {
+ if (deparse(substitute(.f)) == "stats::lm") {
+ print("this is lm")
+ } else {
+ print("this is not lm")
+ }
+ }
>
> foo(stats::lm)
[1] "this is lm"

关于r - 将函数调用转换为 R 中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62913500/

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