2013-12-18 1 views
0

Я разработал функцию в R, которая считывает матрицу от [x,y] до [0,0], и она изучала каждое значение рекурсивно.r остановка рекурсии, но это не бесконечная рекурсия

Для небольшой матрицы я получаю хороший результат, но для больших (около 1000) R печатает сообщение, показывающее, что у меня может быть проблема с бесконечной рекурсией, но это не так. Я отследил, и код закончил около 100 итераций.

Есть ли способ увеличить количество разрешенных итераций перед рассмотрением функции и бесконечной рекурсивной? Спасибо заранее.

+3

Не видя кода, здесь очень сложно помочь. – Thomas

ответ

3

Вы можете изменить максимальную рекурсивную глубину (например, 10000), с:

options(expressions = 10000) 

Вы можете проверить текущее значение с:

getOption("expressions") 

Это, как говорится, если вы перебор по всем элементам матрицы 1000x1000, у вас может быть рекурсивный вызов глубиной 1000000, и вам, вероятно, следует перестроить свой код.

Я думаю, что это несколько забавно, этот вопрос задается в StackOverflow?

+1

(просто потому, что в C вы переполнили бы свой стек рекурсией, что бы глубоко) – josliber

 Смежные вопросы

  • Нет связанных вопросов^_^