FB Psychologie Uni Marburg 01.12.2005
Themenübersicht Die Funktion
Die Funktion Zweck: Erzeugung eines Vektors durch Replizieren Parameter x times length.out each Bedeutung Zahl oder Vektor Anzahl der Replikationen von x Länge des Ausgabevektors Anzahl der Replikationen jedes Elementes von x Hinweise Ist times eine Zahl, so wird x entsprechend oft wiederholt. Ist x ein Vektor und times ebenfalls ein Vektor, wird das i-te Element von x so oft wiederholt, wie das i-te Element von times angibt 1. 1 Voraussetzung dabei ist, dass beide Vektoren gleich lang sind
Beispiele > rep(2:5,2) 2 3 4 5 2 3 4 5 > rep(2:5,each=2) 2 2 3 3 4 4 5 5 > rep(2:5,c(2,2,2,2)) 2 2 3 3 4 4 5 5 > rep(2:5,c(2,1,3,1)) 2 2 3 4 4 4 5 > rep(2:5,2,len=7) 2 3 4 5 2 3 4 > rep(2:5,rep(c(1,2),2)) 2 3 3 4 5 5
Ein Objekt vom Typ Faktor enthält Elemente, die zwar numerisch sein können, jedoch kategorialer Natur sind (z.b. Farbe, Geschlecht, Schicht). Sind die Werte einer Variablen vom Typ Character, so ist die Variable automatisch vom Typ Faktor. Die Werte eines Faktors werden nicht als Strings, sondern als Symbole ohne Anführungszeichen ausgegeben, auch wenn die Werte eigentlich wie Character aussehen. Eine Faktorvariable benötigt weniger Speicherplatz als eine Charactervariable, da die Stufen nur als natürliche Zahlen gespeichert werden 2 und die dazugehörigen Symbole in einer internen Tabelle festgehalten sind. 2 Dies zeigt sich, wenn man auf einen Faktor die Funktion as.integer() anwendet.
Ein spezieller Typ einer Faktorvariable ist der geordnete Faktor ( ordered ). Bei diesem existiert zwischen den einzelnen Werten eine inhärente Ordnungsrelation (z.b. Schulbildung, Altersklasse). Defaultmäßig sind bei einem geordneten Faktor die Stufen in alphabetischer Reihenfolge aufsteigend abgelegt (entsprechend dem ASCII-Code).
Die Funktion factor() Mit Hilfe der Funktion factor() kann man aus einem Datenvektor einen Vektor vom Typ factor oder ordered erzeugen. Aufruf der Funktion (mit Voreinstellungen) factor(x, levels = sort(unique.default(x), na.last=t), labels = levels, exclude = NA, ordered = is.ordered(x))
Parameter x levels labels exclude ordered Bedeutung Datenvektor Vektor der Faktorstufen (aufsteigend geordnet) Labels für die Faktorstufen Vektor von Werten, die ausgeschlossen werden sollen T: es wird ein geordneter Faktor erzeugt Obligat ist lediglich der erste Parameter. Daneben gibt es noch eine Funktion ordered() mit den gleichen Parametern wie factor(), die einen geordneten Faktor erzeugt.
Die Funktion gl() Mit Hilfe der Funktion gl() können ebenfalls kreiert werden und zwar durch Angabe der Anzahl der Faktorstufen und der Anzahl der Replikationen. Aufruf der Funktion (mit Voreinstellungen) gl(n, k, length = n*k, labels = 1:n, ordered = FALSE)
Parameter n k length labels ordered Bedeutung Anzahl der Stufen Anzahl der Replikationen Anzahl der erzeugten Werte Vektor mit den Labels für die Stufen T: es wird ein geordneter Faktor erzeugt Obligat sind nur die ersten beiden Parameter.
Die Funktion cut() Mit Hilfe der Funktion cut() ist es möglich, aus einem numerischen Vektor durch Klasseneinteilung einen Faktor zu erzeugen. Aufruf der Funktion (mit Voreinstellungen) cut(x, breaks, labels = NULL, include.lowest = FALSE, right = TRUE, dig.lab = 3,... )
Parameter x breaks include.lowest right dig.lab Bedeutung Datenvektor Klassengrenzen T: den kleinsten Wert einschließen T: Intervalle rechts geschlossen und links offen Anzahl der Ziffern für die Default-Label Die Faktorstufen sind nach den Klassenintervallen benannt (z.b. (0,20]).
Die Funktionen split() und unsplit() Die Funktion split() erlaubt es, die Daten eines Vektors oder Dataframes in Abhängigkeit von den Stufen eines Faktors in eine Liste von Untergruppen aufzuteilen. Mit Hilfe der Funktion unsplit() kann man die Wirkung von split() rückgängig machen.
Aufruf der Funktionen (mit Voreinstellungen) split(x, f, drop = FALSE,...) split(x, f, drop = FALSE,...) <- value unsplit(value, f, drop = FALSE)
Parameter x f value Bedeutung Datenvektor oder Dataframe Faktor Liste von Vektoren bzw. Dataframes (kompatibel mit dem Splitting von x) Die Komponenten der von split() zurückgegebenen Liste erhalten als Namen die Namen der Faktorstufen. In der zweiten Form von split() werden die Werte von x mit den Werten von value überschrieben. value muss dieselbe Struktur haben, wie das Ergebnis des Aufrufs split(x,f).
Die Funktionen levels() und nlevels Die Funktion levels() kann dazu verwendet werden, die Stufen eines Faktors abzufragen oder sie zu definieren. Die Funktion nlevels() gibt die Anzahl der Stufen eines Faktors zurück.
Aufruf der Funktionen levels(x) levels(x)<-value nlevels(x) Parameter x value Bedeutung Faktor Werte für die Faktorstufen
Die Funktion relevel() Die Funktion relevel() dient dazu, eine Referenzstufe für einen Faktor anzugeben 3. Damit rückt diese Stufe an die erste Stelle vor, und die anderen Stufen werden neu geordnet. 3 Diese Angabe ist notwendig bei Verwendung bestimmter Kontraste im Rahmen einer Varianzanalyse.
Aufruf der Funktion relevel(x, ref,... ) Parameter x value Bedeutung ein nicht geordneter Faktor Referenzstufe
Die Funktion expand.grid() Mit Hilfe der Funktion expand.grid() kann aus den Stufen zweier oder mehrerer bzw. aus den Werten zweier oder mehrerer Vektoren ein Dataframe mit allen Kombinationen der Stufen bzw. Werte erstellt werden. Die Stufen des ersten Faktors bzw. die Werte des ersten Vektors werden dabei am schnellsten durchlaufen, die des zweiten am zweitschnellsten usw.
Aufruf der Funktion expand.grid(...) Parameter Bedeutung... Vektoren, oder eine Liste aus solchen