假设我有一个名为 test.R
的 R 脚本,存储在 C:\
,包含以下内容:
x <- "Hello Stackoverflowers"
print(x)
要通过终端运行它,只需调用:
Rscript C:\test.R
正如预期的那样,结果将是:
但是,我想知道是否有一种方法可以通过 Windows 控制台运行 test.R
,但之后会停留在已执行的 R session 中,而不是关闭并返回到控制台光标?也就是说,留在 R session 中而不是返回到上图中的 C:\R\R-3.4.1\bin>
。
例如,当使用 python.exe
编译 Python 代码时,我可以通过将 -i
参数传递给 python.exe< 来轻松完成类似的事情
调用。
我如何用 R 做到这一点?
最佳答案
将此添加到您的 .Rprofile:
STARTUP_FILE <- Sys.getenv("STARTUP_FILE")
if (file.exsts(STARTUP_FILE)) source(STARTUP_FILE)
然后在 R 外部设置指示的环境变量,然后运行 R。例如从 Windows cmd 行:
set STARTUP_FILE=C:\test.R
R
... R session ...
q()
变化
这有很多变体。例如,我们可以在特定目录(例如 ~/test)中复制 .Rprofile 文件,然后将此代码添加到该副本
source("~/test/test.R")
在这种情况下,如果 R 在该目录中启动,则 R 只会运行 test.R。
关于在 Windows 中通过终端运行 R 并保持 R session 打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45894892/