2015-06-29 43 views
19

中的R調試模式有時拋出以下錯誤:R:錯誤fBody [[I]]:沒有這樣的索引在級別4

 Error in fBody[[i]] : no such index at level 4 

其原因是什麼?以及如何避免它?

+0

我不知道我們有足夠的信息給適當的建議。你使用什麼樣的調試器? RStudio的調試模式或許?你是否正在調用browser(),debugonce(),在崩潰或其他方法後恢復跟蹤?一個可重複的例子會有很長的路要走。 –

+0

我正在使用RStudio debugSource()。不幸的是,我現在很難創建一個例子,但我會盡量做一個例子。 – Massyanya

+0

你不需要一個例子。這是RStudio中的一個非常常見的問題。 – SmallChess

回答

21

這是RStudio中的一個錯誤。我經常在寫我的R代碼時得到它。這是我經常做和工作:

  1. 重啓動RStudio
  2. 清除所有斷點(有該菜單)
  3. 切的全部源代碼,你要調試的文件。保存空文件。
  4. 粘貼源代碼。保存。

該錯誤與斷點的位置有關。出於某種原因,RStudio將新的斷點與其他東西混淆了。通過剪切和粘貼源代碼,我們迫使RStudio「忘記」舊的斷點並開始刷新。這就像給一個新的文件給RStudio。

現在,您可以再次運行調試會話。

RStudio開發者,修復這個愚蠢的錯誤。

+1

請注意,該問題已過了一年,問題仍然存在。 –

+1

Bug仍然存在於RStudio 1.0.136中。這個解決方案仍然很有用。 –

+2

在新版本中,它看起來就像清除斷點並重新採購就足夠了 –

2
  1. 保存文件,而無需斷點
  2. 會議 - >重新啓動[R

通常對我的作品......