如何在R中设置最大递归深度?

时间:2014-10-19 08:47:14

标签: r recursion

我正在运行一些递归深度为5000的R代码,我收到以下错误:

Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
Error during wrapup: evaluation nested too deeply: infinite recursion / options(expressions=)?

如何在R中设置递归深度?

2 个答案:

答案 0 :(得分:12)

阿。通过阅读错误消息找到它。这会将递归深度设置为100000

> options(expressions= 100000)

答案 1 :(得分:-1)

我尝试过了。您可以设置它,然后再次使用“ options()”显示它已设置:

  

选项(表达式= 255)   options()   ....   $表达式   [1] 255   ....

但是不幸的是,它不起作用。递归以完全相同的方式失败。我尝试从数据中删除很多额外的列,但这没有帮助。

我最初使用for()循环解决了这个问题,但是它大约有7万行数据,而且任何有经验的R程序员都知道,一旦在for()循环中加入for(),就注定了很长的运行时间大数据集。

这是R版本3.4.1,可在64位Windows上运行。