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

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