R:fBody [[i]]出错:4级没有这样的索引

时间:2015-06-29 13:02:04

标签: r debugging error-handling

R中的调试模式有时会抛出以下错误:

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

是什么原因引起的?以及如何避免它?

4 个答案:

答案 0 :(得分:31)

这是RStudio中的一个错误。我经常在编写R代码时得到它。这就是我经常做的和工作:

  1. 重启RStudio
  2. 清除所有断点(有一个菜单)
  3. 剪切整个源代码,即要调试的文件。保存空文件。
  4. 粘贴源代码。保存它。
  5. 该错误与断点的位置有关。出于某种原因,RStudio将新的断点与其他东西混淆了。通过剪切和粘贴源代码,我们迫使RStudio忘记"旧断点并开始刷新。这就像给RStudio一个新文件。

    现在,您可以再次运行调试会话。

    RStudio开发人员,修复这个愚蠢的错误。

答案 1 :(得分:9)

在mac上,我通常使用:

  1. 保存文件
  2. 调试 - >清除所有断点。
  3. 即使没有重新启动RStudio也可以提供帮助

答案 2 :(得分:4)

  1. 保存没有断点的文件
  2. 会话 - >重启R
  3. 通常适合我...

答案 3 :(得分:0)

您可能要检查每个元素是否完整,并确保其长度为1。在我的情况下,我有c <- (1:23) fit[[c]]$results["Accuracy"]其中一些是长度1,但在索引3处是长度> 1

fit [[3]]我有以下……

准确性

1 0.7764711

2 0.7771532

所以我用max(fit[[3]]$results["Accuracy"])来表示那些长度大于1的函数,然后是均值函数。