用 safely() 将错误替换为 NA
当您对列表使用 map() 时,如果其中某个元素的数据类型不正确,您将得不到期望的输出。比如,您想对每个元素做数学运算,但其中有一个元素是字符型——这就无法运行。
如果列表很大,要找出哪里出了问题、具体出了什么问题并不容易。这时就需要 safely():它会同时展示您的结果,以及在 map() 调用中发生错误的位置。
本练习是课程的一部分
使用 purrr 掌握函数式编程基础
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Map safely over log
a <- list(1, "I can", 10, 0, "purrr") %>%
map(___(___, otherwise = NA_real_)) %>%
# Transpose the result
transpose()