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