我可以从unix shell启动Rcmdr会话吗?

时间:2016-02-02 20:28:05

标签: r r-commander

我想将bcm(或任何unix shell)中的Rcmdr作为命令启动,也许作为别名。 R接受CMD参数,我也可以使用<管道输入脚本。我希望R控制台保持打开状态,并启动交互式RCommander会话(Rcmdr是R的流行GUI,对于任何读取新手的人来说,似乎你启动了R,类型库(Rcmdr)然后是Commander ()启动它。)

我知道如何将Rcmdr添加到我的配置文件中,如果我在我的Linux工作站上的.Rprofile中包含库(Rcmdr),它似乎总是启动。

如果我输入<那么这个脚本就可以说Commander GUI只在交互式会话中启动了:

library(Rcmdr);
Commander();

但是如果我运行R CMD BATCH ./rcommander.r它只是启动并立即关闭,可能会给我一些关于我没有看到的交互式会话的警告,因为CMD BATCH将R置于非交互模式并且是因此无法用于注射" Rcmdr进入交互式R会话。

似乎无法在命令行上提供文件但是以交互方式运行"在R.似乎还有命令行选项来忽略全局和用户配置文件,但是没有指定自定义配置文件,如R --profile-custom ./.Rprofile2

我想指定一个意思是"现在我想启动并使用RCmdr"并且有时候仍然可以在没有它的情况下运行R.

1 个答案:

答案 0 :(得分:1)

在这里使用Ubuntu机器,我能够使用Dirk在this mailing list post中提供的建议:

nathan@nathan-laptop:~/tmp$ cat rcommander.r 
#!/bin/bash 
r -lRcmdr -e'while(TRUE) Commander();'  


nathan@nathan-laptop:~/tmp$ cat rcommander2.r 
#!/bin/bash 
Rscript --default-packages=Rcmdr -e 'while(TRUE) Commander();'

第一个脚本使用Dirk的littler包,可在CRAN上使用,第二个脚本使用标准的Rscript可执行文件。如上所述,您可以使用终端中的ctrl + c终止该过程。