|
Dipl.Math. Dr. Haiko Lüpsen
Statistik & Kurse
Zusammenfassung S, S-Plus und R: Eigene Funktionen
|
|
Aufbau:
Name <- function ( Parameterliste )
{ Anweisungen ....
... Anweisungen
Ergebnisobjekt
}
Parameterliste:
- die hier verwendeten Variablen-/Objekt-Bezeichnungen sind
temporär und kollidieren nicht mit anderen, z.B. aus dem eigenen
Arbeitsbereich
- Variable (ohne = ...) falls ein Parameter
obligatorisch ist.
- Variable = Default falls ein Parameter
optional ist und eine Voreinstellung vereinbart wird.
- Variable = NULL falls ein Parameter optional ist und
keine Voreinstellung vereinbart wird.
- ... (drei Punkte) als letzter Parameter dient dazu, beim
Aufruf übergebene Parameter, die nicht in dieser Funktion definiert sind,
an andere Funktionen in der Form ... weiterzureichen.
Ergebnisse:
- Ergebnisobjekt: das dort (ohne weiteren Zusätze)
aufgeführte Objekt oder Variable (nur eine) wird als Ergebnis
zurückgegeben.
- Sollen mehrere Ergebnisobjekte übergeben werden, so müssen
diese über
list(name1=Objekt1,
name2=Objekt2,...)
zu einer Liste zusammengefasst werden.
Diese Anweisung muss dann als letzte erscheinen.
Wird die Funktion
aufgerufen, ohne dass das Ergebnis einem Objekt zugewiesen wird, so werden alle
Ergebnisobekte ausgegegeben. Wird dagegen die Funktion mit einer Zuweisung
aufgerufen, etwa
Name <-
function(...)
so können die Namen der Ergebnisobjekte (wie
gewohnt) über attributes(Name) aufgelistet und die Objekte
selbst über
Name$name1
Name$name2
angesprochen
werden.
Zur "Programmierung" einer Funktion verwendet man
zweckmäßigerweise einen einfachen Editor (z.B. Notepad oder pico)
und speichert diese in einer Datei ab. In R bzw. S-Plus werden durch die
Eingabe von
source("Datei")
Anweisungen
von der angegebenen Datei gelesen. Nach dem Dateiende wird wieder auf die
Standardeingabe zurückgewechselt. Dies ermöglicht eine einfache
Korrektur der Funktionen.
Wenn die bzw. alle Funktionen fertig sind, können diese
mit
save (Objekt1,
Objekt2,...,file="Pfad") (R) bzw.
data.dump (Objekt1, Objekt2,...,file="Pfad")
(SPlus)
auf eine Datei exportiert werden. In späteren Sitzungen
können diese dann über
attach ("Pfad")
zugänglich gemacht werden.
Haiko Lüpsen
Letzte Änderung: 17.10.2016