Użyj lapply z własną funkcją
Jak wyjaśnił Filip w materiale wideo, możesz używać lapply() również z własnymi funkcjami. Wystarczy napisać nową funkcję i upewnić się, że jest dostępna w środowisku. Potem możesz jej użyć wewnątrz lapply() tak samo jak funkcji wbudowanych w R.
W poprzednim ćwiczeniu użyłeś już lapply() do przekształcenia informacji o ulubionych pionierach statystyki na listę wektorów złożonych z dwóch ciągów znaków. Teraz napiszemy kod, który wyodrębni osobno imiona i nazwiska oraz lata urodzenia.
Przykładowy kod zawiera już definicję funkcji select_first(), która przyjmuje wektor jako argument i zwraca jego pierwszy element.
To ćwiczenie jest częścią kursu
Intermediate R
Instrukcje do ćwiczenia
- Zastosuj
select_first()na elementachsplit_lowza pomocąlapply()i przypisz wynik do nowej zmiennejnames. - Następnie napisz funkcję
select_second(), która robi dokładnie to samo dla drugiego elementu podanego wektora. - Na koniec zastosuj funkcję
select_second()nasplit_lowi przypisz wynik do zmiennejyears.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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