我可以从 unix shell 启动 Rcmdr 会话吗?
Can I start an Rcmdr session from a unix shell?
我想从 bash(或任何 unix shell)作为命令启动 Rcmdr,也许作为别名。 R 接受 CMD 参数,我也可以用 <.我希望 R 控制台保持打开状态,并启动一个交互式 RCommander 会话(Rcmdr 是 R 的流行 GUI,对于任何阅读新手的人来说,看起来你启动 R,键入 library(Rcmdr) 然后是 Commander () 启动它)。
我知道如何将 Rcmdr 添加到我的配置文件中,如果我在我的 Linux 工作站上的 .Rprofile 中包含库 (Rcmdr),它似乎总是启动。
如果我用 < 管道输入我的输入,那么这个脚本会一直工作到它说 Commander GUI 仅在交互式会话中启动的地步:
library(Rcmdr);
Commander();
但是,如果我 运行 R CMD BATCH ./rcommander.r
它只是启动并立即关闭,可能会给我一些我没有看到的关于交互式会话的警告,因为 CMD BATCH 将 R 置于非-交互模式,因此对于 "injecting" Rcmdr 进入交互式 R 会话的目的是无用的。
在 R 中 "source a file on the command line but run interactively" 似乎是不可能的。似乎还有命令行选项可以忽略全局和用户配置文件,但不能指定像 R --profile-custom ./.Rprofile2
[= 这样的自定义配置文件14=]
要么我想指定一个表示 "Right now I want to start up and use RCmdr" 的配置文件,但有时没有它仍然能够 运行 R。
在 Ubuntu 机器上工作,我能够使用德克在 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
终止进程。
我想从 bash(或任何 unix shell)作为命令启动 Rcmdr,也许作为别名。 R 接受 CMD 参数,我也可以用 <.我希望 R 控制台保持打开状态,并启动一个交互式 RCommander 会话(Rcmdr 是 R 的流行 GUI,对于任何阅读新手的人来说,看起来你启动 R,键入 library(Rcmdr) 然后是 Commander () 启动它)。
我知道如何将 Rcmdr 添加到我的配置文件中,如果我在我的 Linux 工作站上的 .Rprofile 中包含库 (Rcmdr),它似乎总是启动。
如果我用 < 管道输入我的输入,那么这个脚本会一直工作到它说 Commander GUI 仅在交互式会话中启动的地步:
library(Rcmdr);
Commander();
但是,如果我 运行 R CMD BATCH ./rcommander.r
它只是启动并立即关闭,可能会给我一些我没有看到的关于交互式会话的警告,因为 CMD BATCH 将 R 置于非-交互模式,因此对于 "injecting" Rcmdr 进入交互式 R 会话的目的是无用的。
在 R 中 "source a file on the command line but run interactively" 似乎是不可能的。似乎还有命令行选项可以忽略全局和用户配置文件,但不能指定像 R --profile-custom ./.Rprofile2
[= 这样的自定义配置文件14=]
要么我想指定一个表示 "Right now I want to start up and use RCmdr" 的配置文件,但有时没有它仍然能够 运行 R。
在 Ubuntu 机器上工作,我能够使用德克在 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
终止进程。