【问题标题】:Running R commands using a bash script使用 bash 脚本运行 R 命令
【发布时间】:2015-09-20 23:39:29
【问题描述】:

我有以下命令,用于在 R 中绘制绘图。主文本文件是 cross_correlation.csv。

如何将它放入 bash 脚本中,这样当我在终端上启动它时,R 命令将执行它们的工作并完成(就像所有其他 shell 脚本一样)。

cross_correlation <- read.table(file.choose(), header=F, sep="\t")

barplot(cross_correlation$V3)
dev.copy(png,"cc.png",width=8,height=6,units="in",res=100)
dev.off()

hist(cross_correlation$V3, breaks=15, prob=T)
dev.copy(png,"hist_cc.png",width=8,height=6,units="in",res=100)
dev.off()

【问题讨论】:

  • 我正要推荐R CMD BATCH script.r,所以在我看来这是一个骗局。
  • 类似于python -c '&lt;commands&gt;' 的东西会很好,而无需先创建脚本。

标签: r command


【解决方案1】:

如果你安装了 R,你还应该安装程序 Rscript,它可以用来运行 R 脚本:

Rscript myscript.r

所以你可以把这一行放在 bash 脚本中:

#!/bin/bash

Rscript myscript1.r
Rscript myscript2.r
# other bash commands

这通常是在 bash 脚本中运行 R 脚本的最简单方法。

如果您想让脚本可执行以便可以通过键入./myscript.r 来运行它,您需要通过键入以下内容来找出您的Rscript 的安装位置:

which Rscript
# /usr/bin/Rscript

那么您的myscript.r 将如下所示

#!/usr/bin/Rscript

cross_correlation <- read.table(file.choose(), header=F, sep="\t")

barplot(cross_correlation$V3)
dev.copy(png,"cc.png",width=8,height=6,units="in",res=100)
dev.off()

hist(cross_correlation$V3, breaks=15, prob=T)

dev.copy(png,"hist_cc.png",width=8,height=6,units="in",res=100)
dev.off()

这个方法在this question中有解释,或许也能给你一些思路。

【讨论】:

  • 出现此错误。/runr.sh 错误:“cross_correlation (' ./runr.sh: line 12: cross_correlation
  • 出错@dwcoder - 我的'myscript.r'是#!/usr/bin/Rscript cross_correlation
猜你喜欢
  • 2015-01-09
  • 2018-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-05
  • 2021-11-08
相关资源
最近更新 更多