linux调用r语言命令,R语言接受命令行参数的三种方式

本文介绍了R语言中接受命令行参数的三种方式:commandArgs()、getopt()和OptionParser()。commandArgs()直接返回参数向量,但参数索引不固定。getopt()和OptionParser()提供了更灵活的参数解析,其中OptionParser()的使用体验和Python的optparse模块相似,且生成的帮助文档更友好。
摘要由CSDN通过智能技术生成

R语言接受命令行参数的三种方式

最近要用一下R的命令行,但是发现命令行参数不是很友好,就总结了一下目前常用的R的命令行参数的接受方法。

平常我们使用R语言的时候常常都是在交互界面中一步一步更改运行,所以一般用不到命令来执行,但有时候对于批量运行或者某种情况下数据较大,直接在Rstudio中运行卡顿,在把代码提前调试好后后续使用命令行可能更好,另外一半我们编写好的脚本搭建pipeline的时候需要命令行执行,这个时候就必须要命令行来实现了。

R接受命令的参数有三个常见的方法commandArgs()、getopt()、OptionParser(),其中第一个是R自带的函数,后面两个分别来自包getopt和optparse。

运行命令行脚本

在之前了解一下R语言的命令行方式,下面在windows的cmd中还是Mac或者Linux的终端中的命令行用法都是这样的。[options]是R脚本解释器的参数,[args]是脚本的参数。如果是Linux或者Mac的话可以省略Rscipt,在脚本第一行加上shebang行#!/usr/bin/Rscript。

Rscript [options] file [args]

下面是一个R脚本示例test.R

print("Hello R!")

在终端中运行

Rscript test.R

成功输出

[1] "Hello R!"

1. commandArgs()

这是个R的内置命令,和perl的@ARGV或者和python的sys.argv类似,就是将来自于命令的参数存入向量(数组)中。但是与perl和python的不同,它的前面几个元素不是命令行的参数,先尝试打印一下这个参数是怎样的。

下面是一个测试脚本test.R

# commandArgs()就返回一个包含参数信息的向量

args

print(args)

开始测试

Rscript test_args.R Hello R

输出为

[1] "C:\\PROGRA~1\\R\\R-35~1.2\\bin\\x64\\Rterm.exe"

[2] "--slave"

[3] "--no-restore"

[4] "--file=test_args.R"

[5] "--args"

[6] "Hello"

[7] "R"

参数解释:

位置

说明

示例

1

R所在的路径

C:\PROGRA1\R\R-351.2\bin\x64\Rterm.exe

2

Rscript的参数

--slave

3

Rscript的参数

--no-restore

4

运行R脚本的路径

--file=test_args.R

5

脚本参数flag

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值