我需要将一个脚本从R转换为Matlab,我已经使用了Matlab,所以我很清楚它是如何工作的,但是,我是R的新手,到目前为止我遇到的主要障碍之一就是我运行代码。
在Matlab中,在建立断点之后,可以逐步运行脚本的其余部分,当达到某个功能时,也可以通过使用f11查看正在进行的操作 - 也是一步一步 - 在函数内部,有没有办法可以在R中做同样的事情?为了翻译代码,我需要确切地知道每个变量的输出,我的R脚本在其他函数中有几个函数,依此类推。我正在使用Rstudio。
答案 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”选项继续操作。