Použití lapply s vlastní funkcí
Jak Filip vysvětlil ve výukovém videu, lapply() můžeš použít i s vlastními funkcemi. Stačí napsat novou funkci, mít ji dostupnou v pracovním prostředí a pak ji předat do lapply() úplně stejně jako funkce ze základního R.
V předchozím cvičení jsi už lapply() použil/a k převedení informací o oblíbených průkopnících statistiky na seznam vektorů složených ze dvou řetězců. Teď napíšeme kód, který odděleně vybere jména a roky narození.
Ukázkový kód už obsahuje definici funkce select_first(), která přijme vektor a vrátí jeho první prvek.
Toto cvičení je součástí kurzu
Intermediate R
Pokyny k cvičení
- Aplikuj
select_first()na prvky seznamusplit_lowpomocílapply()a výsledek ulož do nové proměnnénames. - Poté napiš funkci
select_second(), která dělá to samé, ale vrací druhý prvek vstupního vektoru. - Nakonec aplikuj funkci
select_second()na seznamsplit_lowa výsledek ulož do proměnnéyears.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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