Gebruik lapply met je eigen functie
Zoals Filip in de instructievideo uitlegde, kun je lapply() ook gebruiken met je eigen functies. Je hoeft alleen een nieuwe functie te schrijven en ervoor te zorgen dat die in de werkruimte beschikbaar is. Daarna kun je de functie binnen lapply() gebruiken, net zoals je deed met basisfuncties van R.
In de vorige oefening heb je lapply() al eens gebruikt om de informatie over je favoriete baanbrekende statistici om te zetten naar een lijst met vectoren van twee tekststrings. Laten we nu code schrijven om de namen en de geboortejaren apart te selecteren.
De voorbeeldcode bevat al code die select_first() definieert. Deze functie neemt een vector als invoer en geeft het eerste element van die vector terug.
Deze oefening maakt deel uit van de cursus
R voor gevorderden
Oefeninstructies
- Pas
select_first()toe op de elementen vansplit_lowmetlapply()en ken het resultaat toe aan een nieuwe variabelenames. - Schrijf daarna een functie
select_second()die precies hetzelfde doet voor het tweede element van een ingevoerde vector. - Pas tot slot de functie
select_second()toe opsplit_lowen ken de output toe aan de variabeleyears.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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