Використовуйте lapply із власною функцією
Як пояснив Філіп в навчальному відео, ви можете використовувати lapply() і з власними функціями. Потрібно лише написати нову функцію та зробити її доступною в робочому середовищі. Після цього ви можете використовувати цю функцію всередині lapply() так само, як і базові функції R.
У попередній вправі ви вже використали lapply(), щоб перетворити інформацію про ваших улюблених піонерів-статистиків на список векторів із двох рядкових значень. Напишімо код, щоб окремо вибрати імена та роки народження.
У зразку коду вже є визначення select_first(), яка приймає вектор як вхід і повертає перший елемент цього вектора.
Ця вправа є частиною курсу
Середній рівень 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