始める無料で始める

不正な引数でエラーを投げる

ユーザーが関数に不適切な入力を与えた場合は、エラーを投げて知らせるのが最善です。ルールは次の2つです。

  1. 問題に気づいた時点(通常は関数の冒頭)で、すぐにエラーを投げること。
  2. エラーメッセージは分かりやすくすること。

assertiveassert_*() 関数を使うと、入力のチェックを行い、失敗したときにエラーを投げられます。

この演習はコースの一部です

R関数入門

コースを見る

演習の手順

  • calc_harmonic_mean() の本体に、x が数値型であることをアサートする行を追加してください。
  • 文字ベクトルの引数を calc_harmonic_mean() に渡すとどうなるかを確認しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

calc_harmonic_mean <- function(x, na.rm = FALSE) {
  # Assert that x is numeric
  ___
  x %>%
    get_reciprocal() %>%
    mean(na.rm = na.rm) %>%
    get_reciprocal()
}

# See what happens when you pass it strings
calc_harmonic_mean(std_and_poor500$sector)
コードを編集して実行