始める無料で始める

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(___)
}, ___))
コードを編集して実行