possibly()

使用 purrr 的 R 語言中級函式程式設計

Colin Fay

Data Scientist & R Hacker at ThinkR

關於 possibly()

possibly() 會建立一個函式,回傳:

  • 正常結果

  • otherwise 的值

library(purrr)
possible_sum <- possibly(sum, otherwise = "nop")
possible_sum(1)

possible_sum("a")
0

"nop"
使用 purrr 的 R 語言中級函式程式設計

使用 possibly()

possibly() 可以回傳:

  • 邏輯值
ps <- possibly(sum, FALSE)
ps("a")
FALSE
  • NA
ps <- possibly(sum, NA)
ps("a")
NA

 

  • 字元
ps <- possibly(sum, "nope")
ps("a")
"nope"
  • 數值
ps <- possibly(sum, 0)
ps("a")
0
使用 purrr 的 R 語言中級函式程式設計

一起來練習吧!

使用 purrr 的 R 語言中級函式程式設計

Preparing Video For Download...