gpt4 book ai didi

r - as.character 在函数中的使用

转载 作者:行者123 更新时间:2023-12-03 05:17:23 24 4
gpt4 key购买 nike

我偶然发现了一个问题:

temp.fun <- function() {}
as.character(temp.fun)

产生错误。我明白为什么不可能将函数“转换”为字符。问题是,要向函数添加哪些属性,以便方法 as.character 返回我自己定义的字符串?

非常感谢!

最佳答案

deparse 可以帮助:

> deparse( temp.fun )
[1] "function () " "{" "}"

进一步了解您的评论的详细信息,您可以做的是创建一个派生 function 的类,并传递它而不是函数。

setClass( "myFunction", contains = "function" )
setMethod( "as.character", "myFunction", function(x, ...){
deparse( unclass( x ) )
} )

这样,当您将函数传递给第三方包时,您将传递一个 myFunction :

f <- new( "myFunction", function(){} )
as.character(f)
# [1] "function () " "{" "}"

关于r - as.character 在函数中的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13517892/

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