我在R中有一个递归函数。我想跟踪它并知道在该过程中调用该函数的次数。我怎么能在R?
中做到这一点编辑:示例代码:
test <- function(num)
{
if(num>100)
return(num)
num <- num+4
res <- test(num)
return(res)
}
答案 0 :(得分:5)
使用<<-
运算符创建一个全局变量,然后在递归函数中对其进行索引。
counter <<- 0
然后在你的函数中将简单地递归使用:
counter <<- counter +1
答案 1 :(得分:4)
另一种不需要全局和<<-
的方法是:
test <- function(num, count=0) {
if(num > 100)
return(list(res=num, count=count))
num <- num+4
res <- test(num, count+1)
return(res)
}
请注意,调用test
的签名是相同的。
test(1)
##$res
##[1] 101
##
##$count
##[1] 25