gpt4 book ai didi

r - 获取当前调用的函数来编写匿名递归函数

转载 作者:行者123 更新时间:2023-12-04 09:21:15 24 4
gpt4 key购买 nike

如何在递归应用的函数中获取当前函数?这是一个简单的例子:

myfun <- function(x) {
if(is.list(x)){
lapply(x, myfun)
} else {
length(x)
}
}

我想匿名,但我不知道如何告诉 lapply在没有名称时使用当前函数。我试过 Recall但这不起作用:
(function(x) {
if(is.list(x)){
lapply(x, Recall)
} else {
length(x)
}
})(cars)

还有 match.call()[[1]]对匿名函数没有帮助。

最佳答案

sys.function(0) ,例如递归计算列表的平方:

(function(x) {
if(length(x)>2){
lapply(x,sys.function(0))
} else {
x^2
}
})(list(1,2,3))

[[1]]
[1] 1

[[2]]
[1] 4

[[3]]
[1] 9

关于r - 获取当前调用的函数来编写匿名递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19714153/

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