R脚本 如何判断 参数是否存在

1. 问题提出

比如我编写一个脚本,读取一个数据的前6行,两个参数:

  • 数据名称
  • 行数(默认为6)

怎么判断第二个参数是否存在呢?

2. 问题解决

如果没有这个参数,选择默认6,如果有参数,按照参数的行数提取。
使用length(args),判断参数长度式进行处理。

(base) [dengfei@ny01 a]$ vi head.R 

args = commandArgs(TRUE)

if(length(args)==2){
    dd = read.csv(args[1])
    n = args[2]
    head(dd,n)
}else{
    dd = read.csv(args[1])
    head(dd)
}

执行情况:

(base) [dengfei@ny01 a]$ Rscript head.R npk.csv 2
  block N P K yield
1     1 0 1 1  49.5
2     1 1 1 0  62.8
(base) [dengfei@ny01 a]$ Rscript head.R npk.csv 
  block N P K yield
1     1 0 1 1  49.5
2     1 1 1 0  62.8
3     1 0 0 0  46.8
4     1 1 0 1  57.0
5     2 1 0 0  59.8
6     2 1 1 1  58.5

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章