我刚刚发现了如何在 Windows 下从 R 控制台运行 R 脚本。
source("arrrFile.R")
问题是,此命令“静默”运行。如何像在控制台中键入一样逐个命令运行文件?
我刚刚发现了如何在 Windows 下从 R 控制台运行 R 脚本。
source("arrrFile.R")
问题是,此命令“静默”运行。如何像在控制台中键入一样逐个命令运行文件?
您可以使用 R 的内置调试器;它必须在函数上触发,因此需要一个小包装器:
sourceDebugging<-function(f){
#Function to inject the code to
theCode<-function(){}
#Injection
parse(text=c('{',readLines(f),'}'))->body(theCode)
#Triggering debug
debug(theCode)
#Lift-off
theCode()
}
sourceDebugging(<file with code>)
这对于调试非常方便(让您有机会在每行之后检查状态),但是,只会在新环境中评估theCode而不是source默认环境.GlobalEnv......这意味着例如,内部创建的变量将消失,除非明确全球化。
选项二只是模拟从键盘写入并按 ENTER ......但正如 caracal 指出的那样,这可以通过source(<file with code>,echo=TRUE).
打开 RGui 中的脚本文件,然后按Ctrl+R逐行运行(尽管您需要按多次;))。但是,我建议使用RStudio来方便地使用 R。在这种情况下,您可以通过Ctrl+Enter运行 line 。或者您可以将脚本修改为print()(或cat())对象。