НачатьНачать бесплатно

Используем vapply (2)

Вы уже убедились, что vapply() ведёт себя так же, как sapply(), когда всё идёт по плану. Но что происходит, если что-то пошло не так?

Как показал Филип в видео, бывают случаи, когда структура результата применяемой функции FUN не соответствует шаблону, заданному в FUN.VALUE. В такой ситуации vapply() выдаёт ошибку, которая сообщает о несоответствии между ожидаемым и фактическим результатом.

Это упражнение является частью курса

Intermediate R

Посмотреть курс

Инструкции к упражнению

  • Изучите предварительно загруженный код и попробуйте его запустить. Если вы ничего не изменяли, должна появиться ошибка. Это происходит потому, что vapply() по-прежнему ожидает, что basics() вернёт вектор длиной 3. Сообщение об ошибке подскажет вам, в чём проблема.
  • Исправьте ошибку, отредактировав вызов vapply().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# temp is already available in the workspace

# Definition of the basics() function
basics <- function(x) {
  c(min = min(x), mean = mean(x), median = median(x), max = max(x))
}

# Fix the error:
vapply(temp, basics, numeric(3))
Редактировать и запускать код