我想,您可以使用RStudio中的browser()命令逐步执行代码中的行。在许多情况下这是有效的。但是,在R脚本中它似乎不起作用。这是一个最小的例子(只需在test.R中复制以下代码):
print("1")
browser()
print("2")
wrong # Produces error, which can not be tracked using browser
print("3")
(R-3.3.0,RStudio 0.99.489) 任何帮助表示赞赏!
感谢@Batanichek,以下脚本解决了这个问题:
{
print("1")
browser()
print("2")
wrong
print("3")
}
答案 0 :(得分:2)
如果我理解你的话
您可以将所有脚本传递到{}
喜欢
{
+ print("1")
+ browser()
+ print("2")
+ wrong # Produces error, which can not be tracked using browser
+ print("3")
+ }
[1] "1"
Called from: top level
Browse[1]> n
debug at #4: print("2")
Browse[1]> n
[1] "2"
debug at #5: wrong
Browse[1]> n
Error: object 'wrong' not found
然后run
将停在browser()
或者来源
source('~/.active-rstudio-document')
[1] "1"
Called from: eval(expr, envir, enclos)
Browse[1]> n
debug at ~/.active-rstudio-document#4: print("2")
Browse[2]> n
[1] "2"
debug at ~/.active-rstudio-document#5: wrong
Browse[2]> n
Error in eval(expr, envir, enclos) : object 'wrong' not found