一、在windows下使用Rscript:

1.进入cmd.exe下,将当前工作目录转到Rscript.exe所在目录下面,然后调用Rscript  **.R文件即可。但是所调用的.R文件必须是在R的工作目录下,也就是和Rscript.exe在同一个文件夹内(Rscript默认情况下是不保存工作空间的)。还可以将这些命令写成一个bat文件,然后将该文件放置在cmd.exe的工作目录下,直接在cmd.exe中输入该bat文件名即可运行。bat文件中包含了Rscript命令。
2.进入cmd.exe下,将当前工作目录转到Rscript.exe所在目录下面,直接输入R的命令,格式为:Rscript -e "x<-seq(0,10,2) " -e "x"或者使用格式如Rscript -e "a<-c(1,20,2);write(a,file='data.txt');"等来执行(各语句之间用“;”分隔开来)。
需要注意的是:如果执行命令Rscript -e "a<-c(1,20,2);write(a,file="data.txt");"(此处均为双引号)将数据写入到一个文件中,会显示说找不到对象(指要写入的文件),如何解决?

这是因为在命令行下 -e 后面的命令需要用双引号,所以其中的语句就不能直接用双引号来表示字符串了。可以使用单引号,也可以通过反斜杠号来对双引号进行转义来解决(使用单引号和双引号均可,关键是要使得Rscript的引号和中间语句的引号区分开来即可)。另一种解决方法是将R命令保存成.R文件,然后通过Rscript调用。
画图时,并不直接显示出来图形!而是自动转换成了pdf格式,存在了Rscript的目录下。不管是画了多少个图形,都会保存在一个pdf文件中,分页来显示,pdf文件的名字为Rplots.pdf。但是可以通过在R 语句中首先通过命令png或者bmp、jpeg首先限定一下图形文件的文件名及其类型。如上图示中的最后一条语句。

二、用Rscripts给R脚本传递参数

1.用法

Rscript的用法中有个args,这个就是传递给.r文件的参数,在脚本中调用这个参数需要用到commandArgs()这个函数。

2.下面举例说明

Rscript xx.r 1 2
将1和2传递给xx.r脚本,而xx.r脚本中是这样调用的:

args<-commandArgs(T) #收集参数给args变量,则args[1]=1,args[2]=2
这样就可以根据不同的参数执行不同的命令了

#barplot.R
args<-commandArgs(T)
x<-read.table(args[1])
png(args[2], width=1024, height=768)
barplot(x$V2, names.arg=x$V1)
dev.off()

运行:
Rscript barplot.R /RNA/shang/human-RNA-seq/result/output/chr.junction /RNA/shang/human-RNA-seq/result/output/chr.juntion.png

Rscripts的使用,以及如何为R脚本传参数的更多相关文章

  1. InnoSetup跨脚本传参数

    需求:在a.iss脚本传递参数给b.iss 举例: a.iss:传程序安装路径给b.iss Parameters: /Path={app} b.iss:接收a.iss传过来的安装路径 DefaultD ...

  2. shell执行lua脚本传参数

    #lua test.lua 2 5arg[0]= test.lua arg[1]= 2arg[2]= 5 if arg[1] and arg[1] == "2" then prin ...

  3. python 脚本带参数

    如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢? 需要模块:sys参数个数:len(sys.argv)脚本名:    sys.argv[0]参数 ...

  4. 如何在cluster上跑R脚本

    R 是一个比较不错但是有时候操蛋的语言,不错是因为用着爽的时候真的很爽,操蛋是因为这种爽不是什么时候都可以的,比如说在cluster上批处理跑R脚本. 当然说这话有些在上面跑过的各种不服气,你丫傻逼吧 ...

  5. 编写运行R脚本

    1.在后台运行R 1.1 创建file.R文件 1.2 在文件首行键入: #! /path/to/Rscript 1.3 在下面的行中,键入R代码 1.4 保存(记得有png(),jpeg(),... ...

  6. R(二): http与R脚本通讯环境安装

    结合实际的工作环境,在开始R研究的时候,首先着手收集的就是能以Web方式发布R运行结果的基础框架,无耐的是,R一直以来常使用于个人电脑的客户端程序上,大家习惯性的下载R安装包,在自己的电脑上安装 -- ...

  7. VS中使用QT调用R脚本

    一开始想直接把R编译成库然后调用R,后来查了n多资料,发现VS中是无法办到的,官方也给出了一句话,大概意思就是没可能在VS中使用R提供的C++接口,大概是涉及到了底层的ABI的原因,具体也不太清楚. ...

  8. R语言笔记2--循环、R脚本

    1.循环语句 for语句 while语句 2.R脚本 source()函数 print()函数

  9. Linux系统 awk sed R脚本 python脚本传入变量

    sed 传入变量: chrI="chr2";sed -n "/$chrI/p" clippointpos.csv  #变量用$var表示,把sed的单引号变为双 ...

随机推荐

  1. JAXB--@XmlElementWrapper注解和泛型一起使用

    当java对象的某个属性使用泛型时,普通对象都没问题,但是遇到HashSet这种集合类封装的元素时,就会出现元素内容序列化不出来的问题,详见如下: 一.示例: 第一步:定义java对象 package ...

  2. Android 架构师技能图谱(转载)

    架构与设计 设计模式 重构 技术选型 特性 可用性 性能 包大小 方法数 文档 技术支持 UI架构模式 MVC MVP MVVM 研发工具 集成开发环境 Android Studio Sublime ...

  3. 【Unity】4.5 树木创建器

    分类:Unity.C#.VS2015 创建日期:2016-04-11 一.简介 在地形编辑器一节中,已经告诉了你如何使用已经创建好的树来形成大片树林.这一节告诉你在 Unity 5.3.4中如何利用[ ...

  4. hdu 2544 最短路(两点间最短路径)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2544 方法一:dijkstra算法,求两点之间最短路径. /*********************** ...

  5. HTML5学习笔记(二十一):BOM

    BOM(Browser Object Model) 是指浏览器对象模型. 由于最初JavaScript就是设计在浏览器中执行的脚本语言,所以BOM是浏览器提供给JavaScript操作自身的接口. w ...

  6. analysis-what-blockchain-technology-means-for-artificial-intelligence-cm888540

    http://m.nasdaq.com/article/analysis-what-blockchain-technology-means-for-artificial-intelligence-cm ...

  7. [Windows Azure] How to Scale an Application

    How to Scale an Application To use this feature and other new Windows Azure capabilities, sign up fo ...

  8. 每天一个linux命令(6) ar命令

    当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量.这里介绍命令ar,用来对库操作. ar命令可以用来创建. ...

  9. 【教程】ubuntu中配置tftp

    1. 安装 tftpd ( tftp 服务器). tftp ( tftp 客户端)以及 xinetd (超级服务器) 1. 安装 tftpd ( tftp 服务器). tftp ( tftp 客户端) ...

  10. Linux源码分析之:malloc、free

    之前写代码的时候一直有个疑问,malloc申请内存的时候指定了内存大小,但是free的时候却只指定要释放的内存地址,那么free是如何知道它要释放的内存空间大小呢? 源码之前,了无秘密,下面就从源码来 ...