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


R purrr possibly 包装函数以返回值而不是错误


创建 .f 的修改版本,每当发生错误时,该版本都会返回默认值 ( otherwise )。

用法

possibly(.f, otherwise = NULL, quiet = TRUE)

参数

.f

要修改的函数,通过以下方式之一指定:

  • 命名函数,例如mean

  • 匿名函数,例如\(x) x + 1function(x) x + 1

  • 一个公式,例如~ .x + 1 。仅当您需要向后兼容旧版本的 R 时才推荐。

otherwise

发生错误时使用的默认值。

quiet

隐藏错误(TRUE,默认值),还是在错误发生时显示它们?

如上所述,该函数采用与 .f 相同的参数,但返回不同的值。

副词

该函数称为副词,因为它修饰函数(动词)的效果。如果您想在包中包含创建副词的函数,请务必阅读faq-adverbs-export

也可以看看

其他副词:auto_browse() , compose() , insistently() , negate() , partial() , quietly() , safely() , slowly()

例子

# To replace errors with a default value, use possibly().
list("a", 10, 100) |>
  map_dbl(possibly(log, NA_real_))
#> [1]       NA 2.302585 4.605170

# The default, NULL, will be discarded with `list_c()`
list("a", 10, 100) |>
  map(possibly(log)) |>
  list_c()
#> [1] 2.302585 4.605170

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Wrap a function to return a value instead of an error。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。