使用本地计算机上的脚本运行远程R进程

时间:2014-10-17 10:22:56

标签: r emacs ssh ess tramp

我在Debian中使用带有emacs和ess的R.我会从笔记本电脑中的R脚本在远程计算机上运行R进程。因此,从emacs中加载我的R脚本,我ssh到远程机器并启动一个新的R会话,而不是使用M-x ess-remote将远程R进程连接到我的本地R脚本。一切正常,直到我尝试从我的笔记本电脑(本地机器)加载一些功能并将其发送到远程R.每当我尝试这样做时,我得到以下错误:

source('myFunction.R')
Error in file(filename, "r", encoding = encoding) : 
  cannot open the connection
In addition: Warning message:
In file(filename, "r", encoding = encoding) :
  cannot open file 'myFunction.R': No such file or directory

如果我切换到R控制台并且我getwd(),控制台会说我在远程计算机的主目录中。

我遵循了ess wbb-site here的指示。我哪里错了?

1 个答案:

答案 0 :(得分:2)

在这种情况下我做的是打开Emacs中的本地文件,然后

M-x ess-eval-buffer

这将获取您的文件内容并在远程连接上对其进行评估。

另一个选择是将脚本移动到远程计算机并使用tramp远程打开它们。然后,您可以在本地编辑它们并使用ESS提供的所有功能。第二个选项允许您在问题中使用source

打开远程脚本的捷径是选择*R*缓冲区然后C-x C-f打开文件。

我希望这会有所帮助。

相关问题