如何在R中的函数参数中添加选项?也就是说,当用户点击选项卡时,他们会看到参数可以采用的所有可能值

时间:2018-08-11 18:07:58

标签: r rstudio

让我们说我有一个带有参数x的函数。

func<-function(x){
    if(x=='a'){.......}
    else if (x=='b'){........}
    else if (x=='c'){.........}
}

.......代表一些我想执行的代码。

每当我从控制台调用该函数时,单击TAB可使我看到该函数采用的参数,我还如何显示该参数的可能值,以便用户可以选择一个。

2 个答案:

答案 0 :(得分:1)

您可以创建一个程序包并向功能中添加文档。例如,您可以运行devtools::create("~/mypackage")(如果需要,可以更改~/mypackage)。然后在~/mypackage/R创建一个名为myfunc.R的文件。在此文件中设置以下内容

#' @title What does this function do?
#' @param x if \code{a} then 1, if \code{b} then 2, if \code{c} then 3.
#' @param ... may have an effect in the future.
#' @export
myfunc <- function(x, ...){
  if(x=='a'){
    1
  }
  else if (x=='b'){
    2
  }
  else if (x=='c'){
    3
  } else
    stop(sQuote(x), " not implemented")
}

然后运行setwd("~/mypackage")devtools::document()devtools::install()。之后,您可以致电library(mypackage),然后在Rstudio中看到以下内容

enter image description here

以上使用roxygen2和一个R包,可能比您要求的还要多。虽然

  

...显示参数的可能值,以便用户可以选择一个。

答案 1 :(得分:0)

我假设您是指RStudio中的控制台。我的理解是,这不是RStudio的功能。也许有人开发了RStudio Addin可以为您做到这一点。