我在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的指示。我哪里错了?
答案 0 :(得分:2)
在这种情况下我做的是打开Emacs中的本地文件,然后
M-x ess-eval-buffer
这将获取您的文件内容并在远程连接上对其进行评估。
另一个选择是将脚本移动到远程计算机并使用tramp远程打开它们。然后,您可以在本地编辑它们并使用ESS提供的所有功能。第二个选项允许您在问题中使用source
。
打开远程脚本的捷径是选择*R*
缓冲区然后C-x C-f
打开文件。
我希望这会有所帮助。