R语言使用命令行参数

args_test.R 代码如下:

Args <- commandArgs()
cat("Args[1]=",Args[1],"\n")
cat("Args[2]=",Args[1],"\n")
cat("Args[3]=",Args[3],"\n")
cat("Args[4]=",Args[4],"\n")
cat("Args[5]=",Args[5],"\n")
cat("Args[6]=",Args[6],"\n")
cat("Args[7]=",Args[7],"\n")

运行如下:
Rscript args_test.R AAA BBB

结果如下:

Args[1]= /usr/local/lib64/R/bin/exec/R
Args[2]= /usr/local/lib64/R/bin/exec/R
Args[3]= --no-restore
Args[4]= --file=args_test.R
Args[5]= --args
Args[6]= AAA
Args[7]= BBB

如图:

补充说明:

在unix、windows外部需要调用R脚本执行,然后又需要输入不同的参数,类似shell脚本的命令行参数输入,可以使用Rcript命令实现。

命令格式:Rscript [options] [-e expression] file [args]
file表示需要执行的脚本,[options] [-e expression] 可以有也可以不用。

[args]是参数列表。

首先需要在file文件中的第一行加入:

Args <- commandArgs()

然后按照以下格式执行

Rscript *.R 参数1 参数2 ...

在file脚本中,可以引用参数Args,

Args[1]= "/usr/local/lib64/R/bin/exec/R"
Args[2]= "--slave"
Args[3]= "--no-restore"
Args[4]="--file=a.r"
Args[5]="--args"
Args[6]==参数1
Args[7]==参数2
可见输入的参数从第六个和第七个开始。

REF: http://f.dataguru.cn/thread-174642-1-1.html

时间: 2024-12-21 04:09:26

R语言使用命令行参数的相关文章

c语言中命令行参数argc,argv[ ]

main(int argc,char *argv[ ]) argv为指针的指针 argc为整数 char **argv or: char *argv[] or: char argv[][] main()括号内是固定的写法. 下面给出一个例子来理解这两个参数的用法: 假设程序的名称为prog, 当只输入prog,则由操作系统传来的参数为: argc=1,表示只有一程序名称. argc只有一个元素,argv[0]指向输入的程序路径及名称:./prog 当输入prog para_1,有一个参数,则由操

c语言中命令行参数argc,argv[]详解

main(int argc,char *argv[ ]) 1.argc为整数 2.argv为指针的指针(可理解为:char **argv or: char *argv[] or: char argv[][]   ,argv是一个指针数组) 注:main()括号内是固定的写法. 3.下面给出一个例子来理解这两个参数的用法: 假设程序的名称为prog,    当只输入prog,则由操作系统传来的参数为:    argc=1,表示只有一程序名称.    argc只有一个元素,argv[0]指向输入的程

Python 获得命令行参数的方法

本篇将介绍python中sys, getopt模块处理命令行参数 如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢?需要模块:sys参数个数:len(sys.argv)脚本名: sys.argv[0]参数1: sys.argv[1]参数2: sys.argv[2] test.py 1 import sys 2 print "脚本名:", sys.argv[0] 3 for i in range(1, len(sys.argv)):

python中命令行参数

python中的命令行参数 python中有一个模块sys,sys.argv这个属性提供了对命令行参数的访问.命令行参数是调用某个程序时除程序名外的其他参数. sys.argv是命令行参数的列表 len(sys.argv)是命令行参数的个数 下面我们用一个简单的例子来说明一下. #!/usr/bin/python #coding:utf-8 import sys ##加载sys这个模块. for i in range(len(sys.argv)): print "第%d个参数是:%s"

iOS开发入门 ? C语言(字符串、字符串数组、命令行参数)

字符串 1. 概念 用双引号引起来的就是字符串 "a string" //C语言编译器会将两个并列的字符串自动拼接成一个字符串 "a string""another a string" // \是换行连接的标记(一行不够写) "a looooooooooong \ string" 常见ASCII编码: 'A' == 65    'a' == 97    '0' == 48    '\0' == 0 int a[10]; //表

go语言之行--文件操作、命令行参数、序列化与反序列化详解

一.简介 文件操作对于我们来说也是非常常用的,在python中使用open函数来对文件进行操作,而在go语言中我们使用os.File对文件进行操作. 二.终端读写 操作终端句柄常量 os.Stdin: 标准输入 os.Stdout: 标准输出 os.Stderr: 标准错误输出 读写示例: package main import ( "fmt" "os" ) var( username,password string ) func main() { fmt.Prin

【C语言天天练(十二)】命令行参数

C程序的main函数具有两个形参.第1个通常称为argc,它表示命令行参数的数目.第2个通常称为argv,它指向一组参数值. 指针数组:这个数组的每个元素都是一个字符指针,数组的末尾是一个NULL指针.argc的值和这个NULL值都用于确定实际传递了多少个参数.argv指向数组的第1个元素,这就是它为什么被声明为一个指向字符的指针的指针的原因.注意:通常第1个参数就是程序的名称. 示例: #include <stdio.h> int main(int argc, char **argv) {

go语言 从命令行获取参数解析

go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单. os.Args 如果你只是简单的想要获取命令行参数,可以像下面的示例代码一样使用os.Args来获取命令行参数 package main import "fmt" import "os" func main(){ if len(os.Args)>0 { for index , value := range os.Args { fmt.Println(index, value

VLC命令行参数详解

VLC命令行参数详解 2012-11-29 14:00 6859人阅读 评论(0) 收藏 举报 Usage: vlc [options] [stream] ...You can specify multiple streams on the commandline. They will be enqueued in the playlist.The first item specified will be played first. Options-styles:  --option  A gl