ПочатиПочніть безкоштовно

Генерування помилок для некоректних аргументів

Якщо користувач передає до функції некоректні дані, найкраще — згенерувати помилку й повідомити про це. Два правила такі:

  1. Викидайте повідомлення про помилку щойно зрозумієте, що є проблема (зазвичай на початку функції).
  2. Зробіть повідомлення про помилку легким для розуміння.

Ви можете використовувати функції assert_*() з пакета assertive, щоб перевіряти вхідні дані й викидати помилки, якщо перевірка не проходить.

Ця вправа є частиною курсу

Вступ до написання функцій в 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)
Редагувати та запускати код