在R中逐步运行脚本

时间:2017-11-28 17:07:25

标签: r

我需要将一个脚本从R转换为Matlab,我已经使用了Matlab,所以我很清楚它是如何工作的,但是,我是R的新手,到目前为止我遇到的主要障碍之一就是我运行代码。

在Matlab中,在建立断点之后,可以逐步运行脚本的其余部分,当达到某个功能时,也可以通过使用f11查看正在进行的操作 - 也是一步一步 - 在函数内部,有没有办法可以在R中做同样的事情?为了翻译代码,我需要确切地知道每个变量的输出,我的R脚本在其他函数中有几个函数,依此类推。我正在使用Rstudio。

2 个答案:

答案 0 :(得分:0)

让我们慢慢浏览?debug的文档。在顶部:

  

设置,取消设置或查询函数的调试标志。

这,以及下面的使用指南:

debug(fun, text = "", condition = NULL, signature = NULL)

似乎强烈建议debug对特定的个人功能起作用。因此,您可以在特定功能上调用debug

我们如何知道当我们这样做时会发生什么?我们继续阅读文档......

  

当输入标记为调试的函数时,正常执行被暂停,并且函数体一次执行一个语句。为每个步骤启动一个新的浏览器上下文(并且前一个步骤被销毁)。

这非常强烈地表明它会完全符合您的要求:一次执行一行功能。

如果我们仍然不了解如何使用debug该怎么办?好吧,如果我们继续向下滚动文档,我们将找到示例:

debug(library)
library(methods)

或者如果您只想调试一次函数:

debugonce(sample)
## only the first call will be debugged
sample(10, 1)
sample(10, 1)

(奇怪的是,我似乎发现了一个错字,这是非常罕见的。第一个sample实际上是拼写sampe在我的文档中。有趣!)

答案 1 :(得分:0)

据我所知,您无法在R studio中正确使用调试器。跟着这些步骤: 1)根据需要设置断点。

2)做Clt + Alt + R.这将使调试器在断点处停止。

3)如果您之前使用过MATLAB,则可以单击“step-in”,“step-into”和“continue”选项继续操作。