一、在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. 模态推出 全屏 隐藏tabbar

    SearchVC * vc = [[SearchVC alloc] init]; /* 底部向上  UIModalTransitionStyleCoverVertical // 淡入     UIMo ...

  2. Zlib库的安装与使用

    在实际应用中经常会遇到要压缩数据的问题,常见的压缩格式有zip和rar,而Linux下那就更多了,bz2,gz,xz什么的都有,单单Linux下的解压和压缩命令就有好多呢?没有什么好不好的.查了资料, ...

  3. 转:\r,\n,\r\n的区别

    回车.换行的区别   他们间的区别其实是个回车换行的问题 先来段历史 回车”(Carriage Return)和“换行”(Line Feed)这两个概念的来历和区别. 符号        ASCII码 ...

  4. Java 虚拟机:互斥同步、锁优化及synchronized和volatile

    互斥同步 互斥同步(Mutual Exclusion & Synchronization)是常见的一种并发正确性保证手段.同步是指子啊多个线程并发访问共享数据时,保证共享数据在同一时刻只能被一 ...

  5. 破解Linux系统root用户密码

    linux系统的启动过程  在介绍破解Linux系统root密码之前先了解一下linux系统的启动过程 开机自检(POST),初始化部分硬件 搜素可用于引导的启动设备(如磁盘的MBR) 读取并将控制权 ...

  6. linux命令(40):基础常用命令:cd,rm,mk

    常用命令介绍       pwd,显示当前在哪个路径下 linux的用户管理 :       useradd 用户名,添加用户       [案例]useradd xiaoming       pas ...

  7. python(43):collections模块

    Python作为一个“内置电池”的编程语言,标准库里面拥有非常多好用的模块.比如今天想给大家 介绍的 collections 就是一个非常好的例子. 基本介绍: 我们都知道,python拥有一些内阻的 ...

  8. 【Java】Java复习笔记-第三部分

    修饰符abstract 抽象的,定义框架不去实现,可以修饰类和方法 abstract修饰类: 会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型 抽象类 ...

  9. django模型相关的知识点

    定义属性 概述: django根据属性的类型确定以下信息 当前选择的数据库支持字段的类型 渲染管理表单时使用的默认html控件 在管理站点最低限度的验证 django会为表增加自动增长的主键列,每个模 ...

  10. 如何快速找出网页中事件对应的js代码片段

    后端人员也免不了要处理一些前端的事情,由于代码不是自己写的,所以不好找到相关的代码. 比如在表单提交时,前端提交的数据不正确,这时候你可能会想在谷歌浏览器里添加一个鼠标 点击事件的断点. 然而查看js ...