使用省略号将参数传递给函数,并为某些参数(如果不存在)设置默认值

托马斯·格里夫(Tomas Greif)

我有一个主函数,该函数将参数传递给另一个rpart用于生成模型的函数我想有可能rpart.control从使用省略号的主要功能中指定如果未定义cpminbucket,那么我想对这两个参数使用默认值。

到目前为止,我还没有成功-请参阅下面的草稿。当前,该函数抱怨cp找不到。我了解为什么但不能弄清楚,如果用户未提供自己的控件,则如何应用默认值。

require(rpart)

a <- function(df, ...) {
  b(df, ...)
}

b <- function(df, ...) {
  if (is.null(cp)) cp <- 0.001 
  if (is.null(minbucket)) minbucket = nrow(df) / 20
  rcontrol <- rpart.control(cp = cp, minbucket = minbucket, ...)
  rcontrol
}


a(iris) # no controls set my defaults for cp and minbucket
a(iris, cp = 0.123) # set cp, use my default for minbucket
a(iris, cp = 0.123, minbucket = 100) # set cp, and minbucket
a(iris, maxcompete = 3) # use my defaults for cp and minbucket, but pass maxcompete
托尼托诺夫

这是对您的功能的一个小修正:请list(...)首先应用

b <- function(df, ...) {
  l <- list(...)
  if (is.null(l$cp)) l$cp <- 1
  if (is.null(l$minbucket)) l$minbucket <- 2
  print_all(l$cp, l$minbucket, ...)
}

print_all <- function(...) {
  print(list(...))
}

运行示例以确保设置了所有默认值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用省略号将参数传递给函数,并为某些参数(如果不存在)设置默认值

来自分类Dev

如果不存在参数,则提供默认值

来自分类Dev

如何将省略号运算符得到的参数传递给其他函数?

来自分类Dev

如何将省略号运算符得到的参数传递给其他函数?

来自分类Dev

如果不存在,如何使Javascript参数默认为默认值?

来自分类Dev

如果不存在,如何使Javascript参数默认为默认值?

来自分类Dev

在 bash 别名中使用文件名作为参数,如果不存在则使用默认值

来自分类Dev

如果条目不存在,则mysql设置默认值

来自分类Dev

将函数作为参数传递给Javascript中可能尚不存在的参数

来自分类Dev

如果节点不存在,则XSLT将默认值设置为“ 0”

来自分类Dev

MySql使用默认值(如果搜索不存在)

来自分类Dev

如何在将哈希作为参数传递给 ruby 方法时设置默认值?

来自分类Dev

Python:将函数参数的默认值传递给* args或** kwargs

来自分类Dev

PHP变量范围:通过引用将默认值的参数传递给匿名函数?

来自分类Dev

使函数对help()函数中的参数使用省略号

来自分类Dev

在C中用省略号传递参数

来自分类Dev

如何使用参数化构建插件将默认值传递给Jenkins构建?

来自分类Dev

C#AutoMapper-如果源中不存在默认值,则在dest属性中设置默认值

来自分类Dev

C#AutoMapper-如果源中不存在默认值,则在dest属性中设置默认值

来自分类Dev

如果XDocument对象中不存在属性的默认值,如何设置

来自分类Dev

如果XDocument对象中不存在属性的默认值,如何设置

来自分类Dev

如果密钥不存在,则在会话中设置默认值

来自分类Dev

对象属性中的默认值(如果不存在)

来自分类Dev

在视图中不存在参数时显示默认值

来自分类Dev

当GET参数不存在时,默认值的不同(或首选)方式

来自分类Dev

如果键不存在,则使用默认值进行插值

来自分类Dev

如何将参数的默认值从一个函数定义传递给更高的函数定义

来自分类Dev

如何将参数的默认值从一个函数定义传递给更高的函数定义

来自分类Dev

将scala映射值与列表进行比较,并为列表中不存在的键返回默认值

Related 相关文章

  1. 1

    使用省略号将参数传递给函数,并为某些参数(如果不存在)设置默认值

  2. 2

    如果不存在参数,则提供默认值

  3. 3

    如何将省略号运算符得到的参数传递给其他函数?

  4. 4

    如何将省略号运算符得到的参数传递给其他函数?

  5. 5

    如果不存在,如何使Javascript参数默认为默认值?

  6. 6

    如果不存在,如何使Javascript参数默认为默认值?

  7. 7

    在 bash 别名中使用文件名作为参数,如果不存在则使用默认值

  8. 8

    如果条目不存在,则mysql设置默认值

  9. 9

    将函数作为参数传递给Javascript中可能尚不存在的参数

  10. 10

    如果节点不存在,则XSLT将默认值设置为“ 0”

  11. 11

    MySql使用默认值(如果搜索不存在)

  12. 12

    如何在将哈希作为参数传递给 ruby 方法时设置默认值?

  13. 13

    Python:将函数参数的默认值传递给* args或** kwargs

  14. 14

    PHP变量范围:通过引用将默认值的参数传递给匿名函数?

  15. 15

    使函数对help()函数中的参数使用省略号

  16. 16

    在C中用省略号传递参数

  17. 17

    如何使用参数化构建插件将默认值传递给Jenkins构建?

  18. 18

    C#AutoMapper-如果源中不存在默认值,则在dest属性中设置默认值

  19. 19

    C#AutoMapper-如果源中不存在默认值,则在dest属性中设置默认值

  20. 20

    如果XDocument对象中不存在属性的默认值,如何设置

  21. 21

    如果XDocument对象中不存在属性的默认值,如何设置

  22. 22

    如果密钥不存在,则在会话中设置默认值

  23. 23

    对象属性中的默认值(如果不存在)

  24. 24

    在视图中不存在参数时显示默认值

  25. 25

    当GET参数不存在时,默认值的不同(或首选)方式

  26. 26

    如果键不存在,则使用默认值进行插值

  27. 27

    如何将参数的默认值从一个函数定义传递给更高的函数定义

  28. 28

    如何将参数的默认值从一个函数定义传递给更高的函数定义

  29. 29

    将scala映射值与列表进行比较,并为列表中不存在的键返回默认值

热门标签

归档