处理副词结果

使用 purrr 的函数式编程进阶

Colin Fay

Data Scientist & R Hacker at ThinkR

安全清理结果

使用 transpose() 转换结果:

# Transpose turn a list of n elements a and b 
# to a list of a and b, with each n elements
l <- list("a", 2, 3)
map(l, safe_log) %>% length()
3
map(l, safe_log) %>% transpose() %>% length()
2
使用 purrr 的函数式编程进阶

关于 compact()

compact() 移除 NULL

list(1, NULL, 3, 4, NULL) %>%
  compact()
[[1]]
[1] 1

[[2]]
[1] 3

[[3]]
[1] 4
使用 purrr 的函数式编程进阶

possibly() 与 compact()

otherwise = NULL %>% compact()

l <- list(1,2,3,"a")
possible_log <- possibly(log, otherwise = NULL)
map(l, possible_log) %>% compact()
[[1]]
[1] 0

[[2]]
[1] 0.6931472

[[3]]
[1] 1.098612
使用 purrr 的函数式编程进阶

httr 简介

使用 purrr 的函数式编程进阶

让我们练习!

使用 purrr 的函数式编程进阶

Preparing Video For Download...