Dipl.Math. Dr. Haiko Lüpsen
|
Elementare arithmetische und logische
Operatoren
Elementare mathematische
Funktionen
Elementare Statistik
Modellierung
Statistische
Verteilungen
Statistiche
Manipulationen
Matrixoperationen
Programmierung
Diverses
Arithmetische Operatoren
+ | Addition |
- | Subtraktion |
* | Multiplikation |
/ | Division |
^ | Exponentiation |
%/% | ganzzahlige Division |
%% | Rest bei Division (modulus) |
Logische Operatoren
== | gleich |
!= | ungleich |
< | kleiner als |
<= | kleiner oder gleich |
> | groesser |
>= | groesser oder gleich |
! | Negation |
& | und |
| | oder |
sqrt(...) | Quadratwurzel |
abs(...) | Absolutbetrag |
sign(...) | Vorzeichen |
log(...) | natürlicher Logarithmus zur Basis e |
log10(...) | Logarithmus zur Basis 10 |
sin(...), cos(...), tan(...), cot(...) | trigonometrische Funktionen |
asin(...), acos(...), atan(...), acot(...) | Umkehrfunktionen der trigonometrischen Funktionen |
round(...,digits=n) | Runden auf n Stellen |
trunc(...) / floor(...) | Abrunden (auf nächst kleinere ganze Zahl) |
ceiling(...) | Aufrunden (auf nächst größere ganze Zahl) |
Statistische Funktionen
(als Argument ist möglich: ein Vektor, seit Version 3 keine Dataframes mehr)
mean | arithemtisches Mittel |
sd | Standardabweichung (nur R) |
median | Median |
mad | mittlere absolute Abweichung |
var | bei Vektor: Varianz bei Matrix: Kovarianzmatrix |
cov | Kovarianzmatrix |
cor | Korrelationsmatrix |
min | Minimum aller Werte (Ergebnis: Skalar) |
max | Maximum aller Werte (Ergebnis: Skalar) |
which.min | Index für den (zuerst) das Min. (oder F) angenommen wird |
which.max | Index für den (zuerst) das Max. (oder T) angenommen wird |
pmin | elementweises Minimum mehrerer Vektoren (Ergebnis: Vektor) |
pmax | elementweises Maximum mehrerer Vektoren (Ergebnis: Vektor) |
range | Vektor mit Minimum und Maximum |
sum | Summe |
cumsum | kumulative Summe |
prod | Produkt |
quantile (..., probs=...) | Quantile: 0, 0.25, 0.5, 0.75, 1.0 |
fivenum | Tukey's five number summary |
skewness | Schiefe (u.a. Paket moments) |
kurtosis | Exzess (u.a. Paket moments) |
univariate Statistiken einer Datenmatrix
summary (für beliebige Objekte)
apply(Datenmatrix, 2, Funktion) (für Dataframes und Matrizen)
tapply(Dataframe, Faktor, Funktion) (bei DataFrames für die Levels eines Faktors)
colMeans(Dataframe)
rowMeans(Dataframe) colSums(Dataframe) rowSums(Dataframe) |
spalten-/variablenweise Mittelwerte zeilenweise Mittelwerte spalten-/variablenweise Summen zeilenweise Summen |
im Paket "timeSeries":
colSDs(Dataframe) colStdevs(Dataframe) colVars(Dataframe) colSkewness(Dataframe) colKurtosis(Dataframe) colMins(Dataframe) colMaxs(Dataframe) colQuantiles(Dataframe,prob=Quantil) |
spalten/variablenweise
Standardabweichungen spalten/variablenweise Standardabweichungen spalten/variablenweise Varianzen spalten/variablenweise Schiefe spalten/variablenweiser Exzess spalten/variablenweise Minima spalten/variablenweise Maxima spalten/variablenweise Quantile mit 0<Quantil<1 |
im Paket "fBasics":
rowSDs(Dataframe)
rowStdevs(Dataframe) rowVars(Dataframe) rowSkewness(Dataframe) rowKurtosis(Dataframe) rowMins(Dataframe) rowMaxs(Dataframe) rowQuantiles(Dataframe,prob=Quantil) |
zeilenweise Standardabweichungen zeilenweise Standardabweichungen zeilenweise Varianzen zeilenweise Schiefe zeilenweiser Exzess zeilenweise Minima zeilenweise Maxima zeilenweise Quantile mit 0<Quantil<1 |
Tabellen
table(Vektor1, Vektor2,...) (absolute Häufigkeiten)
y ~ Funktion(x1, x2, ...)
x1:x2 (Interaktion x1 mit
x2)
x1*x2 (Haupteffekte und Interaktion x1 mit x2)
(x1 +
x2 + ...)^2 (alle Haupteffekte und 2er Interaktionen)
x1/x2
(x1 eingebettet in x2)
poly(x,n) (Polynom von x vom Grade n)
Die Funktionen setzen sich jeweils zusammen aus derm Funktionstyp
und dem Verteilungsnamen
...norm (x, mean=..., sd=...) | Normal |
...chisq (x, df) | Chi2 |
...t (x, df) | Student t |
...f (x, df1, df2) | F |
...unif (x, min=..., max=...) | Gleich |
...pois (x, lambda) | Poisson |
...beta (x, shape1, shape2) | Beta |
...binom (x, size, prob) | Binomial |
...nbinom (x, size, prob) | negative Binomial |
...exp (x, rate=...) | Expontential |
...cauchy (x, location=..., scale=...) | Cauchy |
...gamma (x, shape=..., scale=...) | Gamma |
...geom (x, prob=...) | geometrische |
...hyper (x, m=..., n=..., k=...) | hypergeometrische |
...lnorm (x, meanlog=..., sdlog=...) | logarithmische Normal |
...logis (x, location=..., scale=...) | logistische |
...weibull (x, shape=..., scale=...) | Weibull |
...wilcox (x, m=..., n=...) | Wilcoxon rank sum statistic |
...signrank (x, n=...) | Wilcoxon Signed Rank statistic |
Weitere Verteilungen:
ptukey(q, nmeans, df, nranges) qtukey(p, nmeans, df, nranges) |
Studentized Range statistic |
qbirthday(prob=... , classes= ...,
coincident=...) pbirthday(n=..., classes=, coincident=...) |
Birthday problem |
Ausführliche Übersicht bei Cran
Startwert für die Erzeugung von
Zufallszahlenfolgen:
set.seed(n)
Standardisieren eines Vektors oder Matrix (z-Scores)
(alle Elemente müssen numerisch sein)
scale(Matrix)
scale(Matrix, center=Vektor,
scale=Vektor)
Wandlung in Rangzahlen
rank(x)
rank(x, na.last="keep") wenn NAs erhalten bleiben sollen
Sortieren
sort(x) Vektor x aufsteigend
sortieren
sort(x, decreasing=T) absteigend
order(x)
Vektor von Indizes zum aufsteigenden Sortieren von x
order(x,
decreasing=T) Vektor von Indizes zum absteigenden Sortieren
Dataframe[order(Var1, Var2,...), ] Dataframe
aufsteigend nach Var1, Var2,.
sortieren
Dataframe[order(-Var1,...), ]
Dataframe absteigend nach Var1,.
sortieren
arrange(Dataframe, Var1, Var2,...)
Sortieren eines Dataframes nach Var1, Var2 (aufsteigend) bzw.
desc(Var1), desc(Var2) (absteigend) (Paket
"plyr")
Aggregieren einer Datenmatrix bzgl. einer (kategorialen)
Variablen
aggregate(x, by=list(Variablen),
FUN=Funktion)
Matrix1%*%Matrix2 | Matrix-Multiplikation |
Vektor1%*%Vektor2 | Inneres Produkt |
Matrix1%o%Matrix2 | Äußeres Produkt |
Matrix1%x%Matrix2 | Kronecker Produkt |
crossprod(Matrix) | Kreuzproduktmarix |
t(x) | Transponierte Matrix |
solve(Matrix) | Inverse Matrix |
ginv(x) | Moore-Penrose inverse Matrix (Paket MASS) |
svd.inverse(x) | Inverse Matrix mittels svd (Paket matrixcalc) |
diag(x) | Diagonale einer Matrix |
diag(n) | Einheitsmatrix der Ordnung n |
col(x) | Matrix aus den Spaltennummern einer Matrix |
row(x) | Matrix aus den Zeilennummern einer Matrix |
solve(Matrix, Vektor) | Lösen eines linearen Gleichungssystems |
eigen(x)$values eigen(x)$vectors |
Eigenwerte und Eigenvektoren einer Matrix |
prod(eigen(x)$values) determinant(x) |
Determinante einer Matrix |
chol(Matrix) | Choleski-Zerlegung einer symmetrischen Matrix |
qr(x) | QR-Zerlegung einer Matrix |
qr(x)$rank | Rang einer Matrix |
sum(diag(x)) | Spur einer Matrix |
svd(x) | singular value decomposotion |
vecnorm(Vektor,p=...) | p-Norm eines Vektors (R: Paket: splus2R) |
Anwendung von Funktionen auf Matrizen
dim ist hier die Dimension, auf die die Funktion
angewandt werden soll, z.B. 2 (spaltenweise) und 1
(zeilenweise)
... sind optionale Parameter für die angegebene
Funktion
x <- apply(Matrix, dim, Funktion)
Anwendung einer Vektoroperation auf Zeilen (dim=1) oder Spalten (dim=2)
einer Matrix
x <- lapply(Liste, Funktion,...)
Anwendung einer Funktion auf die Elemente jedes Listenelements
(Ergebnistyp "List")
x <- sapply(Liste, Funktion,...)
Anwendung einer Funktion auf die Elemente jedes Listenelements
(Ergebnistyp "Vektor/Matrix", falls möglich)
x <-
tapply(Vektor, list(Faktoren), Funktion) Anwendung
einer Funktion auf Vektor für die Kombinationen der Faktoren (Ergebnis:
Vektor/Matrix)
x <- ave(Vektor, Faktor1, Faktor2,..,
FUN=Funktion) Anwendung einer Funktion auf Vektor für die
Kombinationen der Faktoren (Ergebnis: Variable passend zu
Vektor)
x <- by(Vektor, Faktoren, Funktion)
Anwendung einer Funktion auf Vektor für die Kombinationen der
Faktoren (mit anderer Ausgabe als tapply)
x <-
sweep(Matrix, dim, Vektor) Subtrahieren eines Vektors
von den Zeilen (dim=1) oder Spalten (dim=2) einer Matrix
If-Anweisungen
if (logischer Ausdruck)
{Anweisungn}
else if (logischer
Ausdruck)
{Anweisungen}
else
{Anweisungen}
ifelse
(logischer Ausdruck, Wert falls wahr, Wert falls falsch)
switch (Ausdruck, Anweisung1, Anweisung2,...)
(je nach
ganzzahligem Wert 1, 2, ... von Ausdruck wird die 1., 2.,... Anweisung
ausgeführt, bzw.
je nach character-Wert a, b,... von
Ausdruck wird die Anweisung ausgeführt, die eine Zuweisung für
a, b,.. enthält)
Schleifen
for (Parameter in Parameterbereich)
{Anweisungen}
while (logischer Ausdruck)
{Anweisungen}
repeat
Anweisungen
break (Abbruch der
Schleife)
next (Sprung zum Schleifenbeginn)
Prüfung einer Bedingung für alle Elemente einer Matrix
all(x) Abfrage, ob ein logischer Vektor nur T enthält,
bzw.
all(logischer Ausdruck)
any(x) Abfrage,
ob ein logischer Vektor mindestens ein T enthält, bzw.
any(logischer Ausdruck)
which(logischer
Ausdruck) Indizes, für die die Bedingung erfüllt
ist
which.max(Vektor) kleinster Index, für den das
Maximum angenommen wird (Vektor numerisch oder logisch
0/1)
which.min(Vektor) kleinster Index, für den das
Minimum angenommen wird (Vektor numerisch oder logisch 0/1)
x
%in% y logischer Vektor: Abfrage, ob Werte der Vektors x im Vektor
y enthalten sind
Abfrage auf fehlende Werte
which.na(x) Vektor mit
Indizes, in denen der Vektor fehlende Werte hat (nur SPlus)
is.na(x)
logischer Vektor mit T, in denen der Vektor fehlende Werte hat
Ausführung einer Anweisung, wobei im Fall eines
Fehlers die Ausführung fortgesetzt wird, z.B. innerhalb einer
Funktion,
bzw. Anweisung2 wird nur ausgeführt, wenn
Anweisung1 keinen Fehler
verursacht.
try(Anweisung,silent=T/F)
try({Anweisung1;Anweisung2;...},silent=T/F)
Gruppenweise Analysen bei DataFrames für die Levels
eines Faktors
tapply(Dataframe, Faktor,
Funktion) für einfache Funktionen ohne
Parameter
by(Dataframe, Faktor, Funktion,
Parameter) für beliebige Funktionen mit Parameter
stop("Message") Beendigung der Ausführung einer Funktion
Zeitverschiebung
lag(Zeitreihe,
Anzahl) Verschiebung einer Zeitreihe um eine Anzahl von
Zeiteinheiten