Используем 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))