r - 如何在 R 中为函数参数添加选项?也就是说,当用户点击选项卡时,他们会看到参数可以采用的所有可能值
问题描述
假设我有一个带有参数 x 的函数。
func<-function(x){
if(x=='a'){.......}
else if (x=='b'){........}
else if (x=='c'){.........}
}
....... 代表我希望执行的一些代码。
每当我从控制台调用函数时,点击 TAB 可以让我看到函数采用的参数,我如何还显示参数的可能值以便用户可以选择一个。
解决方案
您可以创建一个包并将文档添加到您的函数中。例如,您可以运行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 中看到以下内容
上面使用了roxygen2和一个 R 包,它可能比你要求的更多。虽然,它
...显示参数的可能值,以便用户可以选择一个。
推荐阅读
- vue.js - 如何使用 Vue Router 重定向路由?
- twitter-bootstrap - 如何限制 Bootstrap 4 中 p 标签的宽度以使其更具可读性?
- regex - 删除标点符号(保留字母数字和 unicode)Java
- javascript - 如何要求至少选择一个复选框
- google-apps-script - 如何从 Apps 脚本库中调用 CreateMenu()?
- python - 奇怪的 while 循环行为,time.sleep 超过 90 秒
- python - pd.RangeIndex 函数由于某种原因不起作用
- python - 为什么 numpy.multiply 对大整数给出错误的结果?
- apache-spark - 从 Cassandra 中仅提取 Spark 中所需的列而不加载所有列
- ruby-on-rails - 通过 Browserstack 针对 Internet Explorer 运行 Capybara 测试