possibly()

使用 purrr 的函数式编程进阶

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 的函数式编程进阶

使用 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 的函数式编程进阶

让我们来练习!

使用 purrr 的函数式编程进阶

Preparing Video For Download...