首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R包开发中更多用户友好的函数输入参数

在R包开发中更多用户友好的函数输入参数
EN

Stack Overflow用户
提问于 2015-11-07 19:15:58
回答 1查看 162关注 0票数 0

我正在制作一个包,在这里生成摘要报告。我有一个名为makeSum的函数,它需要许多输入数据,并将输出摘要报告。然而,有6种不同的输出摘要报告可以作出。

由于包中还有很多其他函数,所以我认为,如果一个函数(makeSum)有一个参数(sumType),它有6个可能的字符串选项(每个选项都表示要创建的摘要的类型-- "aBShort“、"aBLong”、"gB“、"eAShort”、"eALong“、"eB"),而不是有6个不同的函数("makeSumABShort”、"makeSumABLong“、"makeSumGB”、"makeSumEAShort“、"makeSumEALong”、"makeSumEB"),那将是最有意义的。

我试图确定在运行sumType函数时,是否可以采取一些步骤来使用户更容易为makeSum参数提供正确的字符串(而不必记住字符串名称,因为它们会很长)。

例如,在使用RStudio时,如果我大致知道函数名是什么(比如makeSum),那么我可以开始在控制台中键入它,点击选项卡,并有自动填充建议。如果我对该函数有一个特定的参数(比如sumType),那么我也可以在控制台中键入它,点击选项卡,并有自动填充建议。当有确切的6个字符串选项可以用于该参数时,是否可以执行类似的操作?为了保持这个示例,如果我要键入:

代码语言:javascript
复制
makeSum(data1 = myDF1, data2 = myDF2, sumType = )

然后点击选项卡,我将列出六个可能的字符串选项("aBShort“、"aBLong”、"gB“、"eAShort”、"eALong“、"eB")。

到目前为止,用户必须运行帮助(MakeSum),并在帮助手册中滚动以确定他们想要使用的字符串的确切名称是用于sumType参数。

我确实考虑过使用数字(1、2、3、4、5、6)代替长字符串,但我发现长字符串更清楚地说明了6摘要报告的内容。

任何建议,如何使这方面更加友好的用户将不胜感激!

这是我的MWE:

代码语言:javascript
复制
#' Generate summarization report
#'
#' Generates one of six possible types of summarization reports
#'
#' @param data1 first input
#' @param data2 second input
#' @param sumType type of summarization report. One of the following six string possibilities must be specified ("aBShort", "aBLong", "gB", "eAShort", "eALong", "eB"). "aBShort" means short version of alpha and beta summarization. "ABLong" mean long version of alpha and beta summarization. "gB" means gamma and beta summarization. "eAShort" means short version of epsilon and alpha summarization. "eALong" means long version of epsilon and alpha summarization. "eB" means epsilon and beta summarization.
#' @export

#'
makeSum =
  function(data1=NULL, data2=NULL, sumType=NULL){
...
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-09 05:13:44

代码语言:javascript
复制
> mychoice <- function() {sumType=menu(c("aBShort", "aBLong", "gB", "eAShort", "eALong", "eB")); print(sumType)}
> mychoice()

1: aBShort
2: aBLong
3: gB
4: eAShort
5: eALong
6: eB

Selection: 4
[1] 4

除非您希望指定默认类型,否则不需要函数的表单中的参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33586747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档