GNU R: sapply

Aus Wikibooks


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[Bearbeiten]

Um 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.

siehe auch[Bearbeiten]