我有一个小的shell脚本(bash),它运行一个R脚本,生成一个绘图作为输出.在剧情呈现R退出之后,一切都运行良好但是即时.有没有办法让R会话保持活动状态,直到绘图窗口关闭.
shell脚本.
#!/bin/bash
R --slave --vanilla < myscript.r
Run Code Online (Sandbox Code Playgroud)
和R脚本.
daq = read.table(file('mydata.dat'))
X11()
pairs(daq)
//R Completes this and then exits immediately.
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助!
Mar*_*ark 29
如果使用Rscript命令(更适合此目的),则运行如下:
#!/usr/bin/Rscript
daq = read.table(file('mydata.dat'))
X11()
pairs(daq)
message("Press Return To Continue")
invisible(readLines("stdin", n=1))
Run Code Online (Sandbox Code Playgroud)
确保在myscript.r上设置执行权限,然后运行如下:
/path/to/myscript.r
Run Code Online (Sandbox Code Playgroud)
或没有shebang:
Rscript /path/to/myscript.r
Run Code Online (Sandbox Code Playgroud)
小智 13
您可以添加一个每n秒检查一次图形设备的循环:
while (!is.null(dev.list())) Sys.sleep(1)
Run Code Online (Sandbox Code Playgroud)
这将睡眠,直到您关闭绘图窗口.