如何在shell脚本中运行R代码?
我有一个R文件(myfile.R)。我想使用shell脚本运行它。我该怎么做? 我试过这个:如何在shell脚本中运行R代码?,r,shell,sh,R,Shell,Sh,我有一个R文件(myfile.R)。我想使用shell脚本运行它。我该怎么做? 我试过这个: #! /bin/bash Rscript myfile.R #! /bin/bash R --not-save-- < myfile.R 但它给了我一个错误:Rscript:command未找到 我也试过: #! /bin/bash Rscript myfile.R #! /bin/bash R --not-save-- < myfile.R #/bin/bash R--不保存-
#! /bin/bash
Rscript myfile.R
#! /bin/bash
R --not-save-- < myfile.R
但它给了我一个错误:Rscript:command未找到
我也试过:
#! /bin/bash
Rscript myfile.R
#! /bin/bash
R --not-save-- < myfile.R
#/bin/bash
R--不保存--
它还提供了以下错误:未找到R:command
最好的方法是什么?不写shell,而是写R脚本。这就是Rscript
的用途,我们的软件包甚至在此之前就提供了/usr/bin/r
那就这么做吧
#!/usr/bin/Rscript
cat("Hello, world\n")
# rest of your code below
或使用
#!/usr/bin/r
我有多个cron工作在做这件事
这显然是假设您在
/usr/bin
中有Rscript
或r
,就像您在常规Debian或Ubuntu设备上一样。我想您需要的是批处理模式。您可以这样做:
R CMD BATCH [options] infile [outfile] &
您可以阅读有关批处理模式的更多信息这在Windows上的Cygwin中适用于我:
#!/cygdrive/c/Progra~1/R/R-3.3.0/bin/x64/Rscript.exe
# dummy example
cat("Hello StackOverflow\n")
用命令
R
启动R,然后添加您的代码
user@ubuntu:~/RCode/RCode$ R
> source("data_acquisition.R")
> load_libraries()
> df <- acquire_nps()
> head(df)
...
user@ubuntu:~/RCode/RCode$R
>来源(“data_acquisition.R”)
>加载库()
>测向头(df)
...
考虑到您已经在机器上安装了R(基于Linux),我觉得下面是在sh文件中运行R的步骤
操作系统:Mac操作系统(莫哈韦版本)
R版本:3.6
步骤1:我已使用brew在mac电脑中安装了R
$brew安装r(--这将在您的计算机中安装最新的r-)
步骤2:创建示例sh文件。(startR.sh)
$touch startR.sh
步骤3:将以下内容复制到startR.sh文件中
$vim startR.sh
(粘贴以下内容)
(--我创建了名为sample.R的简单R文件,其内容如下--)
sayHello格式在那里起了作用。很可能R不在PATH环境变量中。只需键入
R
即可从命令行运行R吗?bash
是您的默认shell吗?