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()