如何将R脚本插入bash脚本?

时间:2014-07-23 18:25:45

标签: r bash

此问题与我之前的问题How to insert a python program into a bash script?类似。我基本上试图用R实现相同的目标。我尝试了以下

#!/bin/bash

R 1 2 3 4 << EOF 

args<-commandArgs(TRUE)

for (i in args) {

        print(i) 

}

EOF

输出(在R中运行时显示)应为:

[1] "1"
[1] "2"
[1] "3"
[1] "4"

我之前的问题的答案方法适用于python但不适用于R(这是我的预期)。有没有办法在bash脚本中运行R代码,就像使用python一样?

1 个答案:

答案 0 :(得分:2)

简短版本:不要这样做。

长版:编写一个R脚本,您可以使用Rscript可执行文件,如果有,还可以使用littler软件包中的r

虽然shell脚本起初看起来很诱人,但在某些时候你会遇到变量插值和转义的问题。适当的R脚本更好 - R源包含大量示例。

示例:

/tmp$ ./rex.R 1 2 3 4
[1] "1"
[1] "2"
[1] "3"
[1] "4"
/tmp$ 

有了这个来源:

/tmp$ cat rex.R 
#!/usr/bin/Rscript

args<-commandArgs(TRUE)
for (i in args) {
     print(i) 
}
tmp$