r停止递归,但它不是无限递归

时间:2013-12-18 19:28:38

标签: r recursion infinite

我在R中设计了一个函数,它从[x,y][0,0]读取矩阵,并以递归方式研究每个值。

对于一个小矩阵,我得到了很好的输出,但对于较大的矩阵(大约1000),R打印一条消息,表明我可能有一个无限的递归问题,但事实并非如此。我追溯并且代码在完成之前停止了大约100次迭代。

在考虑函数和无限递归之前,有没有办法增加允许的迭代次数? 提前谢谢。

1 个答案:

答案 0 :(得分:3)

您可以使用:

更改最大递归深度(例如,更改为10000)
options(expressions = 10000)

您可以使用以下方法检查当前值:

getOption("expressions")

话虽这么说,如果你在1000x1000矩阵中迭代所有元素,你可能会有一个1000000深度的递归调用,你应该重组你的代码。

我想在StackOverflow上问这个问题有点有趣吗?