2014-10-17 123 views
1

我在Debian中使用R和emacs和ess。我会在我的笔记本电脑上通过R脚本在远程计算机上运行R进程。所以从emacs中加载我的R脚本,我SSH到远程机器,并开始新的R会话,比我使用M-x ess-remote连接远程R进程到我的本地R脚本。一切运作良好,直到我试图从我的笔记本电脑(本地计算机)加载一些功能,并将其发送到远程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 

控制台和我getwd()控制台说我在远程机器的主目录。

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

回答

2

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

M-x ess-eval-buffer 

的你的文件这将需要的内容,并评估它的远程连接。

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

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

我希望这会有所帮助。