Använd lapply med en egen funktion
Som Filip förklarade i videon kan du använda lapply() även med egna funktioner. Du behöver bara skriva en ny funktion och se till att den finns tillgänglig i din arbetsmiljö. Sedan kan du använda funktionen inuti lapply() precis som du gjorde med R:s inbyggda funktioner.
I föregående övning använde du redan lapply() för att omvandla information om dina favoritpionjärer inom statistiken till en lista av vektorer med två teckensträngar vardera. Nu ska vi skriva kod för att plocka ut namnen och födelseåren var för sig.
Exempelkoden innehåller redan definitionen av select_first(), som tar en vektor som indata och returnerar vektorns första element.
Den här övningen är en del av kursen
R för medelnivå
Övningsinstruktioner
- Applicera
select_first()på elementen isplit_lowmedlapply()och tilldela resultatet till en ny variabelnames. - Skriv sedan en funktion
select_second()som gör exakt samma sak för det andra elementet i en inmatad vektor. - Applicera slutligen funktionen
select_second()påsplit_lowoch tilldela resultatet till variabelnyears.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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