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

问题描述 投票:26回答:4

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

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

是什么导致这个?以及如何避免它?

r debugging error-handling
4个回答
31
投票

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

  1. 重启RStudio
  2. 清除所有断点(有一个菜单)
  3. 剪切整个源代码,即要调试的文件。保存空文件。
  4. 粘贴源代码。保存。

该错误与断点的位置有关。出于某种原因,RStudio将新的断点与其他东西混淆了。通过剪切和粘贴源代码,我们迫使RStudio“忘记”旧的断点并开始刷新。这就像给RStudio一个新文件。

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

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


9
投票

在Mac上,我通常使用:

  1. 保存存档
  2. 调试 - >清除所有断点。

即使没有重启RStudio,它也有帮助


4
投票
  1. 保存没有断点的文件
  2. 会话 - >重新启动R.

通常适合我......


0
投票

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

适合[[3]]我有以下......

准确性

1 0.7764711

2 0.7771532

所以我使用max(fit[[3]]$results["Accuracy"])作为长度大于1的那个然后是平均函数。

© www.soinside.com 2019 - 2024. All rights reserved.