是否有办法将命令(从shell)传递给已经运行的R-runtime / R-GUI,无需复制和过去。
到目前为止,我只知道如何使用-f
或-e
选项通过shell调用R,但在这两种情况下,新的R-Runtime将处理我传递的R-Script或R-Command它。
我宁愿让一个开放的R-Runtime等待通过任何可能的连接传递给它的命令。
答案 0 :(得分:7)
你要求的是无法做到的。 R是单线程的并且具有单个REPL aka Read-eval-print loop,其例如附着到单个输入,例如, GUI中的控制台,或stdin,如果你输入R.但从不两个。
除非您使用其他内容,例如最优秀的Rserve(当托管在除Windoze之外的操作系统上时)可以通过tcp / ip处理多个并发请求。但是,您可能必须编写自定义连接。 Rserve文档中包含Java,C ++和R的示例。
答案 1 :(得分:0)
您可以使用Rterm(在Windows下的C:\ Program Files \ R \ R-2.10.1 \ bin和R版本2.10.1中)。或者您可以从shell中键入“R”启动R(如果shell无法识别您需要修改路径的命令)。
答案 2 :(得分:0)
您可以尝试简单地从一个会话中保存工作区并手动将其加载到另一个会话中(或此主题的任何类型的变体,例如仅保存您在saveRDS
或类似的2个会话之间共享的对象)。这需要一些额外的load
和save
命令,但您可以通过在.RProfile
文件中添加一些在每个R
会话开始时执行的行来进一步自动化。 Here是有关启动时R
的更详细信息。但我想这一切都在很大程度上取决于你在R
会话中做了什么。 HTH