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

Используйте lapply с собственной функцией

Как объяснил Филип в обучающем видео, lapply() можно использовать и с собственными функциями. Достаточно написать новую функцию и убедиться, что она доступна в рабочей среде. После этого её можно передавать в lapply() так же, как и встроенные функции R.

В предыдущем упражнении вы уже использовали lapply(), чтобы преобразовать информацию о знаменитых статистиках-первопроходцах в список векторов из двух символьных строк. Теперь давайте напишем код, который отдельно извлечёт имена и годы рождения.

Пример кода уже содержит определение функции select_first(), которая принимает вектор на вход и возвращает его первый элемент.

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

Intermediate R

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

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

  • Примените select_first() к элементам split_low с помощью lapply() и сохраните результат в новую переменную names.
  • Затем напишите функцию select_second(), которая делает то же самое, но возвращает второй элемент входного вектора.
  • Наконец, примените функцию select_second() к split_low и сохраните результат в переменную years.

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

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

# Code from previous exercise:
pioneers <- c("GAUSS:1777", "BAYES:1702", "PASCAL:1623", "PEARSON:1857")
split <- strsplit(pioneers, split = ":")
split_low <- lapply(split, tolower)

# Write function select_first()
select_first <- function(x) {
  x[1]
}

# Apply select_first() over split_low: names


# Write function select_second()




# Apply select_second() over split_low: years
Редактировать и запускать код