我有以下命令用于在R中绘制图。主要文本文件是cross_correlation.csv。
如何将它放在bash脚本中,这样当我在终端上启动它时,R命令将执行它们的工作并完成(就像所有其他shell脚本一样)。
07-03 13:04:23.904: E/AndEngine(7060): MainActivity.onCreateGame failed. @(Thread: 'GLThread 216')
07-03 13:04:23.904: E/AndEngine(7060): java.lang.NullPointerException
07-03 13:04:23.904: E/AndEngine(7060): at org.andengine.opengl.texture.region.TextureRegionFactory.extractFromTexture(TextureRegionFactory.java:50)
07-03 13:04:23.904: E/AndEngine(7060): at org.andengine.opengl.texture.region.TextureRegionFactory.extractFromTexture(TextureRegionFactory.java:42)
07-03 13:04:23.904: E/AndEngine(7060): at com.example.testnew.MainActivity.onCreateResources(MainActivity.java:144)
07-03 13:04:23.904: E/AndEngine(7060): at org.andengine.ui.activity.SimpleBaseGameActivity.onCreateResources(SimpleBaseGameActivity.java:43)
07-03 13:04:23.904: E/AndEngine(7060): at org.andengine.ui.activity.BaseGameActivity.onCreateGame(BaseGameActivity.java:183)
07-03 13:04:23.904: E/AndEngine(7060): at org.andengine.ui.activity.BaseGameActivity.onSurfaceCreated(BaseGameActivity.java:112)
07-03 13:04:23.904: E/AndEngine(7060): at org.andengine.opengl.view.EngineRenderer.onSurfaceCreated(EngineRenderer.java:80)
07-03 13:04:23.904: E/AndEngine(7060): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1494)
07-03 13:04:23.904: E/AndEngine(7060): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
答案 0 :(得分:4)
如果安装了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中有解释,也可能会给你一些想法。