用 possibly() 替换 safely()
一旦您已经用 safely() 找到了处理问题的方法(例如,用 NA 替代报错),就可以把 safely() 换成 possibly()。possibly() 会执行您的代码并应用您设定的替代结果,而不会打印错误信息。
现在您将再次对 log() 进行 map(),但这次使用 possibly() 而不是 safely(),因为您已经知道如何处理这些错误。
本练习是课程的一部分
使用 purrr 掌握函数式编程基础
练习说明
- 对给定的列表使用
map(),结合possibly()计算每个元素的log()。 - 使用
NA_real_来修复任何数据类型不正确的元素。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Take the log of each element in the list
list(1, "I can", 10, 0, "purrr") %>%
map(___(function(___){
log(___)
}, ___))