假设R
正在计算机A上运行计算。
计算机B可以“看看”这个R
计算在计算机A上的运行情况吗?
计算完成后,R
可以将输出(甚至是创建的文件)发送到计算机B吗?
我知道R
有一个sink()
功能,但我不知道如何在远程计算机上使用它,或者即使这样做是为了我的目的而设置的合适方式。我应该使用SSH隧道(无论这意味着什么)?
@Enrico& @SeñorO:
计算机A和B是PC。我没有计算机A的管理员权限,所以我可能无法在其上安装SSH服务器或“安装”计算机B(这是否意味着创建网络?)。
也许我可以给自己发一封来自R的电子邮件?说“计算到达这一点,这是迄今为止的输出......”
我刚刚发现here这可能很容易设置。显然你甚至可以从R推特!
答案 0 :(得分:2)
如果我理解你的问题,你应该能够通过ssh和tmux(或屏幕)的组合很容易地做到这一点。
计算机A必须运行ssh服务器。
user@computerB$ ssh computerA.domain.com
user@computerA$ tmux new
user@computerA$ R
> source("myAnalysis.R")
...
按Ctrl-b d
分离然后Ctrl-d
断开与计算机A的连接。现在您可以关闭计算机,去散步,等等。然后:
user@computerB$ ssh computerA.domain.com
user@computerA$ tmux a
>
R仍将继续运行。
答案 1 :(得分:0)
如果在批处理模式下运行R而不中断作业,则应该能够打开.Rout
文件。复制并打开副本是非常安全的。至于复制输出,最简单的方法是编写一个bash脚本以批处理模式运行R,然后在作业完成后scp输出文件。