我已经定义了一个变量,它是一个函数列表。
var_function <- mean
我可以使用任何功能。如何将函数mean
转换为字符串?谢谢你的任何建议。如果我的问题不明确,请告诉我。
答案 0 :(得分:12)
您可以使用deparse()
将任何函数转换为逐行字符向量。
deparse(setNames)
# [1] "function (object = nm, nm) "
# [2] "{"
# [3] " names(object) <- nm"
# [4] " object"
# [5] "}"
答案 1 :(得分:3)
从R 4.0开始,还有deparse1()
。这会将函数作为单个字符串返回。
f <- function(x) {
x + 2
}
strf <- deparse1(f)
strf
#> [1] "function (x) { x + 2 }"
要将功能字符串恢复为实函数,请在eval()
中使用str2lang()
:
f2 <- eval(str2lang(strf))
f2(4)
#> 6