GNU R: sapply
sapply(x,func)
ermöglicht die Anwendung von Funktionen func
auf jedes Objekt von Listen, Dataframes und Matrizen x
. Damit ist es eine zumeist schnellere und elegantere Alternative als die Programmierung solcher Operationen mit Schleifen (z.B. durch for
).
Handhabung
BearbeitenUm für eine Reihe von Objekten a1, a2, a3
dieselbe Funktion func
durchzuführen, können diese via sapply ("S" für simple) übergeben werden.
Im Gegensatz zu lapply wird das Ergebnis als Vektor und nicht als Liste ausgegeben.
Das folgende Beispiel berechnet für die 3 Vektoren die Mittelwerte:
> a1 <- 1:10 #Belegung mit Zahlenreihe > a2 <- 2:30 > a3 <- 3:40 > sapply(list(a1,a2,a3),mean) [1] 5.5 16.0 21.5 > class(sapply(list(a1,a2,a3), mean)) [1] "numeric"
lapply
und sapply
sind v.a. dann sehr nützlich, wenn Funktionen mehrere Objekte bearbeiten sollen, die standardmäßig nur ein Objekt als Parameter akzeptieren.