R语言commandArg()的用法

本文详细介绍了如何在R程序中使用commandArgs()函数接收命令行参数,并通过一个实例演示了如何根据test.txt中的坐标绘制散点图并保存为out.png。重点讲解了参数位置的确定和trailingOnly=T选项的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

commandArgs(),是R自带的参数传递函数
可以创造一个交互接口,在LInux等外部系统可以用命令行参数运行R程序
在写R文件时,加入argv<-commandArgs(),然后把要从文件里要调用的变量对应地改成argv[n]就可以了(n为数字)

在命令行调用时的命令为:
Rsciprt 你要调用的R文件.R 参数1 参数2

实现效果:

test.txt里面是一些三个点的坐标
test.txt
1 2
4 1
2 3
我要在命令行指定画test.txt的散点图,输出一个out.png图片

命令行里输入:

Rscript plot.R test.txt out.png

输出:在这里插入图片描述

plot.R是这样的:

argv<-commandArgs()
test<-read.table(argv[6])#读入argv[6],也就是我要的test.txt
png(file=argv[7])
plot<-plot(test)
dev.off()

我之前的问题在于,这个argv[n]里面的数字是怎么得来的

在R环境下输入

argv<-commandArgs()
head(argv[1:10])

可以查看前10个位置里面当前已经使用到第几个位置
比如

> argv<-commandArgs()
> print(argv[1:10])
 [1] "RStudio"       "--interactive" NA             
 [4] NA              NA              NA             
 [7] NA              NA              NA             
[10] NA 

也就是1和2都被占用了,我们从3开始可以指定自己的参数

另外需要注意的是本地R环境和服务器上面占用的位置数量可能不一样
比如本地:
在这里插入图片描述
这里从第3个,也就是NA值开始是可以自定义的
在这里插入图片描述
这是刚才示例里的,可以看到从第6和第7是我们设定的参数

如果要将自己输入的参数指定为程序的第一个参数,只需要加上trailingOnly=T这个flag

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值