2013-12-18 102 views
0

我設計了一個函數在讀取矩陣從[x,y][0,0]和它研究每個值遞歸。r停止遞歸,但它不是一個無限遞歸

對於一個小矩陣,我獲得了很好的輸出,但對於較大的輸出(大約1000),R會打印一條消息,表明我可能有無限遞歸問題,但事實並非如此。我完成追溯並且代碼停止了大約100次迭代。

在考慮函數和無限遞歸之前,有沒有辦法增加允許的迭代次數? 在此先感謝。

+3

沒有看到代碼,在這裏很難幫到你。 – Thomas

回答

3

可以改變最大遞歸深度(例如10000),具有:

options(expressions = 10000) 

您可以檢查與當前值:

getOption("expressions") 

話雖這麼說,如果你遍歷對於1000x1000矩陣中的所有元素,您可能會有一個深度爲1000000的遞歸調用,並且您應該重構您的代碼。

我猜這是有點有趣的這個問題正在問StackOverflow嗎?

+1

(只是因爲在C中你會用深的遞歸來溢出你的堆棧) – josliber