gpt4 book ai didi

r - 查找R中发生错误的位置

转载 作者:行者123 更新时间:2023-12-03 07:40:53 26 4
gpt4 key购买 nike

我在Rstudio中运行脚本,并得到以下错误,该错误特定于我的代码所说的(警告可能来自初始错误):

Error in `[<-`(`*tmp*`, mon, n, value = 0) : subscript out of bounds
In addition: There were 50 or more warnings (use warnings() to see the first 50)

我尝试使用ctrl + F在脚本中搜索该脚本,但似乎这不在脚本中。我尝试使用 traceback()并获得了 No traceback available我尝试通过 source(filepath)通过 error(options=recover)中的R shell运行脚本,并获得以下菜单:
Enter a frame number, or 0 to exit   

1: source("C:\\Users\\Patrick\\Google Drive\\FIDS\\MESc\\Thesis\\KNN-CADv4\\RModel\\Analysis_UI_modified.r")
2: withVisible(eval(ei, envir))
3: eval(ei, envir)
4: eval(expr, envir, enclos)

但是我不确定该怎么办。我在SO上经历了许多不同的答案,并尝试了他们上面提到的内容,但仍然无法解决。为什么这些问题似乎与R有关?

我是否可以执行任何步骤来找到脚本中该错误对应的行(显然无需手动遍历每一行...)?我通常使用Python和Matlab,通常可以得到发生错误的那一行,并注意需要修复的内容,但对于R来说似乎并不简单。错误本身很明显,但我需要知道它在哪里。

这是我在Windows 7上使用的R:
R version 3.1.0 (2014-04-10) -- "Spring Dance"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)

最佳答案

该标志张贴在前面....您已经输入... BrowserZone:

 ?browser   # read the controls documentation

然后对以下内容进行SO搜索: [r] browser debug
如果您在使用 debug('func_name")设置调试标志后运行该函数,则浏览器应告诉您在哪一行引发了错误。其他选择:当这是关于SO的早期问题时,Shane建议:
options(error = quote({dump.frames(to.file=TRUE); q()}))

可以设置断点并在具有特定代码的特定行号处恢复代码,尽管我也不认为这能完全满足您的需求。
?findLineNum
?setBreakpoint # both on same page.

如果要构建软件包,则可以通过设置环境变量来受益:
R_KEEP_PKG_SOURCE =是

您在某个地方创建了“mon”变量。查找将对象或名为“mon”的列分配给值的代码。

关于r - 查找R中发生错误的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25109227/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com