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 te zorgen dat die in de workspace beschikbaar is. Daarna kun je de functie binnen lapply() gebruiken, net zoals je met basis-R-functies deed.
In de vorige oefening heb je lapply() al gebruikt om de informatie over je favoriete pionierende statistici om te zetten naar een lijst met vectoren, elk bestaande uit 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 input 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 sla het resultaat op in een nieuwe variabelenames. - Schrijf vervolgens 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 sla de output op in de variabeleyears.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in 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