當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。