safely() を possibly() に置き換える
safely() で問題の対処法(たとえば、エラーの代わりに NA を出力する)が分かったら、safely() を possibly() に置き換えましょう。possibly() は、エラーメッセージを表示せずに、コードを実行して指定した置き換えを適用します。
ここでは再び log() に対して map() を使いますが、すでにエラーの解決方法が分かっているので、safely() の代わりに possibly() を使います。
この演習はコースの一部です
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(___)
}, ___))