美文网首页
R参数传递

R参数传递

作者: 我想养只猫zhl | 来源:发表于2022-11-29 15:09 被阅读0次

    方法一:commandArgs()函数

    优缺点:R中自带函数,使用方法简单

    commandArgs(trailingOnly = FALSE)

    # trailingOnly  是否使第一个位置就是命令行参数,默认FALSE,第6个位置是第一个命令行参数

    args = commandArgs()

    print(args[6])

    方法二:argparser包

    优缺点:更利于写成流程,但是需要安装,集群上不好安装

    基础函数

    arg_parser函数

    此函数创建参数分析器对象。它从被调用脚本的文件名推断程序名

    arg_parser(

        description,  # 脚本说明

        name = NULL,  # 脚本的名称

        hide.opts = FALSE # 隐藏--opts参数

    )

    add_argument函数

    此函数用于向参数分析器对象并返回修改过的对象

    add_argument(

        parser, # 参数分析器对象,使用arg_parser函数创建的对象

        arg, # 参数名称(位置参数不使用前缀,--或可选参数或标志使用前缀)

        help, # 参数的帮助说明

        default = NULL, # 参数默认值

        type = NULL, # 参数的变量类型(可以从默认值推断);否则假定为字符

        nargs = NULL,

        flag = NULL,

        short = NULL

    )

    parse_args函数

    此函数使用参数分析器对象来分析命令行参数或字符向量

    parse_args(

        parser, # 参数分析器对象,使用arg_parser函数创建的对象

        argv = commandArgs(trailingOnly = TRUE) # 要分析的字符向量(参数和值应该已经被空格分割)

    )

    使用案例

    library(argparser) # 导入包

    argv = arg_parser("calculate number add one")

    argv = add_argument(argv,"--number",help = 'The calculate number')

    argv = parse_args(argv)

    number = as.integer(argv$number)

    result = number + 1

    print(result)

    相关文章

      网友评论

          本文标题:R参数传递

          本文链接:https://www.haomeiwen.com/subject/bnudfdtx.html