代码之家  ›  专栏  ›  技术社区  ›  ShanZhengYang

在R包中为函数参数设置默认路径的标准方法是什么?

  •  2
  • ShanZhengYang  · 技术社区  · 6 年前

    为R函数设置默认值很简单,例如。

    myfunction = function(x, k=42, c=1){
        result = x*x + k - c
        return(result)
    }
    

    此处,默认情况下 k=42 ,则, c=1 x 是必需的参数。

    我正在创建一个R包,我希望参数是默认文件。(在这种情况下,这些可以是通过 .rda 文件,或实际文本或csv文件。)

    提供中文件的路径 inst/extdata ,文档建议使用以下内容:

    http://r-pkgs.had.co.nz/inst.html

    例如,查找inst/extdata/mydata。csv,你的电话 系统文件(“extdata”,“mydata.csv”,package=“mypackage”)

    创建默认为某个文件的函数参数的推荐方法是什么?

    我认为直接链接到文件不是最好的方法,例如:。

    do_something_with_data = function(file=system.file("extdata", "mydata.csv", package = "mypackage")){
        data.table::fread(file)
        ...
    }
    

    另一种方法是将所有此类参数设置为 NULL ,如果不使用其他参数,则使用默认参数:

    do_something_with_data2 = function(file=NULL){
        if (is.null(file)){
            file = system.file("extdata", "mydata.csv", package = "mypackage")
        }
        ...
    }
    
    0 回复  |  直到 6 年前
    推荐文章