当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R dials range_validate 用于处理参数范围的工具


参数范围的设置器、获取器和验证器。

用法

range_validate(object, range, ukn_ok = TRUE, ..., call = caller_env())

range_get(object, original = TRUE)

range_set(object, range)

参数

object

具有类 quant_param 的对象。

range

二元素数值向量或列表(包括 Inf )。当 ukn_ok = TRUE 时,值可以包括 unknown()

ukn_ok

用于判断 unknown() 是否为可接受值的单个逻辑。

...

这些点用于将来的扩展,并且必须为空。

call

调用传递到rlang::abort()

original

单一逻辑。范围值应该采用自然单位(TRUE)还是变换空间(FALSE,如果适用)?

如果 range_validate() 通过验证过程,则返回新范围(否则抛出错误)。

range_get() 返回对象的当前范围。

range_set() 返回具有新范围的参数对象的更新版本。

例子

library(dplyr)

my_lambda <- penalty() %>%
  value_set(-4:-1)

try(
  range_validate(my_lambda, c(-10, NA)),
  silent = TRUE
) %>%
  print()
#> [1] "Error in eval(expr, envir, enclos) : Value ranges must be non-missing.\n"
#> attr(,"class")
#> [1] "try-error"
#> attr(,"condition")
#> <error/`Inf` and `unknown()` are acceptable values.>
#> Error:
#> ! Value ranges must be non-missing.
#> ---
#> Backtrace:
#>      ▆
#>   1. └─pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)
#>   2.   └─pkgdown::build_site(...)
#>   3.     └─pkgdown:::build_site_local(...)
#>   4.       └─pkgdown::build_reference(...)
#>   5.         └─purrr::map(...)
#>   6.           └─purrr:::map_("list", .x, .f, ..., .progress = .progress)
#>   7.             ├─purrr:::with_indexed_errors(...)
#>   8.             │ └─base::withCallingHandlers(...)
#>   9.             ├─purrr:::call_with_cleanup(...)
#>  10.             └─pkgdown (local) .f(.x[[i]], ...)
#>  11.               ├─base::withCallingHandlers(...)
#>  12.               └─pkgdown:::data_reference_topic(...)
#>  13.                 └─pkgdown:::run_examples(...)
#>  14.                   └─pkgdown:::highlight_examples(code, topic, env = env)
#>  15.                     └─downlit::evaluate_and_highlight(...)
#>  16.                       └─evaluate::evaluate(code, child_env(env), new_device = TRUE, output_handler = output_handler)
#>  17.                         └─evaluate:::evaluate_call(...)
#>  18.                           ├─evaluate (local) timing_fn(...)
#>  19.                           ├─evaluate (local) handle(...)
#>  20.                           │ └─base::try(f, silent = TRUE)
#>  21.                           │   └─base::tryCatch(...)
#>  22.                           │     └─base (local) tryCatchList(expr, classes, parentenv, handlers)
#>  23.                           │       └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
#>  24.                           │         └─base (local) doTryCatch(return(expr), name, parentenv, handler)
#>  25.                           ├─base::withCallingHandlers(...)
#>  26.                           ├─base::withVisible(...)
#>  27.                           └─evaluate:::eval_with_user_handlers(expr, envir, enclos, user_handlers)
#>  28.                             └─base::eval(expr, envir, enclos)
#>  29.                               └─base::eval(expr, envir, enclos)

range_get(my_lambda)
#> $lower
#> [1] 1e-10
#> 
#> $upper
#> [1] 1
#> 

my_lambda %>%
  range_set(c(-10, 2)) %>%
  range_get()
#> $lower
#> [1] 1e-10
#> 
#> $upper
#> [1] 100
#> 

源代码:R/aaa_ranges.R

相关用法


注:本文由纯净天空筛选整理自Max Kuhn等大神的英文原创作品 Tools for working with parameter ranges。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。