cleanUrl: "optparse-in-r"
description: "R에서 argument parsing을 도와주는 라이브러리인 optparse를 알아봅니다."
Optparse 라이브러리를 이용한다.
manual: http://cran.r-project.org/web/packages/optparse/optparse.pdf
vignette: http://www.icesi.edu.co/CRAN/web/packages/optparse/vignettes/optparse.pdf
conda install -c bioconda r-optparse
make_option
함수의 결과가 옵션이고, 그 결과들을 리스트로 저장해서 OptionParser
를 initialize해주면 된다. OptionParser
객체에 parse_args
(python argparse랑 똑같다!) 를 실행시키면 명령행 인자를 파싱한다.
library(optparse)
option_list <- list(
make_option(c("-f", "--file"), type="character", default=NULL,
help="dataset file name", metavar="character"),
make_option(c("-o", "--out"), type="character", default="out.txt",
help="output file name [default= %default]", metavar="character")
)
opt_parser <- OptionParser(option_list=option_list)
opt <- parse_args(opt_parser)
type
에는 “logical”, “integer”, “double”, “complex”, or “character”를 넣을 수 있음.
action="store_true"
나 action="store_false"
사용하면 boolean 값도 받을 수 있음.
조금 귀찮다. 파싱한 옵션 결과를 보고 그게 null
인지 확인해서 null
이면 stop
으로 프로그램 실행을 끝내버리면 된다.
if (is.null(opt$file)) {
print_help(opt_parser)
stop("At least one argument must be supplied (input file).n", call.=FALSE)
}