我在R中有一个递归函数.我想跟踪它并知道在该过程中调用该函数的次数.我怎么能在R?
编辑:示例代码:
test <- function(num)
{
if(num>100)
return(num)
num <- num+4
res <- test(num)
return(res)
}
Run Code Online (Sandbox Code Playgroud)
另一种不需要全局的方法<<-是:
test <- function(num, count=0) {
if(num > 100)
return(list(res=num, count=count))
num <- num+4
res <- test(num, count+1)
return(res)
}
Run Code Online (Sandbox Code Playgroud)
注意调用的签名test是一样的。
test(1)
##$res
##[1] 101
##
##$count
##[1] 25
Run Code Online (Sandbox Code Playgroud)
使用<<-运算符创建一个全局变量,然后在递归函数中对其进行索引.
counter <<- 0
Run Code Online (Sandbox Code Playgroud)
然后在你的函数中将简单地递归使用:
counter <<- counter +1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
886 次 |
| 最近记录: |