Eingebaute Funktionen in R
Fast alles in R wird über Funktionen erledigt. Ich beziehe mich hier nur auf numerische und zeichenorientierte Funktionen, die üblicherweise beim Erstellen oder Umkodieren von Variablen verwendet werden.
(Um die Arbeit mit Funktionen zu üben, besuche den R-Kurs für Fortgeschrittene).
Numerische Funktionen
Funktion | Beschreibung |
abs(x) | absoluter Wert |
sqrt(x) | Quadratwurzel |
ceiling(x) | Obergrenze(3.475) ist 4 |
floor(x) | floor(3.475) ist 3 |
trunc(x) | trunc(5.99) ist 5 |
round(x , digits= n) | round(3.475, digits=2) ist 3.48 |
signif(x , digits= n) | signif(3.475, digits=2) ist 3.5 |
cos(x), sin(x), tan(x) | auch acos(x), cosh(x), acosh(x), etc. |
log(x) | natürlicher Logarithmus |
log10(x) | gewöhnlicher Logarithmus |
exp(x) | e^x |
Zeichenfunktionen
Funktion | Beschreibung |
substr(x , start= n1 , stop= n2) | Teilstrings in einem Zeichenvektor extrahieren oder ersetzen. x <- "abcdef" substr(x, 2, 4) ist "bcd" substr(x, 2, 4) <- "22222" ist "a222ef" |
grep(Muster , x , ignore.case= FALSE , fixed= FALSE ) | Suche nach einem Muster in x. Wenn fixed =FALSE, dann ist pattern ein regulärer Ausdruck. Wenn fixed=TRUE, ist das Muster eine Zeichenkette. Gibt passende Indizes zurück. grep("A", c("b", "A", "c"), fixed=TRUE) gibt 2 |
sub(pattern , replacement , x , ignore.case = FALSE , fixed= FALSE ) | Finde das Muster in x und ersetze es durch den Ersatztext. Wenn fixed=FALSE, dann ist pattern ein regulärer Ausdruck. Wenn fest = T, dann ist das Muster ein Textstring. sub("\s",".", "Hello There") liefert "Hello.There" |
strsplit(x , split) | Teile die Elemente des Zeichenvektors x bei split.strsplit("abc", "") auf und erhalte den 3-Elemente-Vektor "a", "b", "c" |
paste(..., sep="") | Konkateniere Strings, nachdem du sie mit sep getrennt hast.paste("x",1:3,sep="") gibt c("x1", "x2" "x3")paste("x",1:3,sep="M") gibt c("xM1", "xM2" "xM3")paste("Heute ist", date()) |
toupper(x) | Großbuchstaben |
tolower(x) | Kleinbuchstaben |
Statistische Wahrscheinlichkeitsfunktionen
In der folgenden Tabelle werden Funktionen beschrieben, die sich auf Wahrscheinlichkeitsverteilungen beziehen. Für die folgenden Zufallszahlengeneratoren kannst du set.seed(1234) oder eine andere Ganzzahl verwenden, um reproduzierbare Pseudo-Zufallszahlen zu erzeugen.
Funktion | Beschreibung |
dnorm(x) | Normaldichtefunktion (standardmäßig m=0 sd=1)# Plotten der Standardnormalkurvex <- pretty(c(-3,3), 30)y <- dnorm(x) plot(x, y, type='l', xlab="Normal Deviate", ylab="Density", yaxs="i") |
pnorm(q) | Die kumulative Normalwahrscheinlichkeit für q(Fläche unter der Normalkurve links von q)pnorm(1,96) ist 0,975 |
qnorm(p) | Normales Quantil. Wert am p-Perzentil der Normalverteilungqnorm(.9) ist 1,28 # 90. Perzentil |
rnorm(n, m=0, sd=1) | n zufällige Normalabweichungen mit Mittelwert mand Standardabweichung sd. #50 zufällige Normalabweichungen mit Mittelwert=50, sd=10x <- rnorm(50, m=50, sd=10) |
dbinom(x, Größe, prob)pbinom(x, Größe, prob)qbinom(p, Größe, prob)rbinom(n, Größe, prob) | Binomialverteilung, wobei size der Stichprobenumfang und prob die Wahrscheinlichkeit von Kopf ist (pi)# Wahrscheinlichkeit von 0 bis 5 Köpfen einer fairen Münze aus 10 Würfendbinom(0:5, 10, .5)# Wahrscheinlichkeit von 5 oder weniger Köpfen einer fairen Münze aus 10 Würfenspbinom(5, 10, .5) |
dpois(x,lamda)ppois(x,lamda)qpois(x,lamda)rpois(x,lamda) | Poisson-Verteilung mit m=std=lamda#Wahrscheinlichkeit von 0,1, oder 2 Ereignissen mit lamda=4dpois(0:2, 4)# Wahrscheinlichkeit von mindestens 3 Ereignissen mit lamda=41- ppois(2,4) |
dunif(x, min=0, max=1)punif(x, min=0, max=1)qunif(x, min=0, max=1)runif(x, min=0, max=1) | Gleichverteilung, folgt dem gleichen Muster wie die Normalverteilung oben.#10 gleichmäßige Zufallsvariablen x <- runif(10) |
Andere statistische Funktionen
Weitere nützliche statistische Funktionen sind in der folgenden Tabelle aufgeführt. Jede hat die Option na.rm, um fehlende Werte vor der Berechnung zu entfernen. Andernfalls führt das Vorhandensein von fehlenden Werten zu einem fehlenden Ergebnis. Das Objekt kann ein numerischer Vektor oder ein Datenrahmen sein.
Funktion | Beschreibung |
mean(x , trim=0,na.rm= FALSE ) | Mittelwert des Objekts x# getrimmter Mittelwert, der alle fehlenden Werte und# 5 Prozent der höchsten und niedrigsten Punktzahl entferntmx <- mean(x,trim=.05,na.rm=TRUE) |
sd(x) | Standardabweichung von object(x). Sieh dir auch var(x) für die Varianz und mad(x) für den Median der absoluten Abweichung an. |
median(x) | Median |
Quantil(x , Probs) | Quantile, wobei x der numerische Vektor ist, dessen Quantile gesucht werden, und probs ein numerischer Vektor mit Wahrscheinlichkeiten in [0,1].# 30. und 84. Perzentile von xy <- quantile(x, c(.3,.84)) |
range(x) | range |
sum(x) | Summe |
diff(x , lag= 1) | verzögerte Differenzen, wobei lag angibt, welche Verzögerung verwendet werden soll |
min(x) | minimum |
max(x) | maximum |
scale(x , center= TRUE , scale= TRUE ) | Spalte zentrieren oder eine Matrix standardisieren. |
Andere nützliche Funktionen
Funktion | Beschreibung |
seq(von , bis , von) | Erzeuge eine SequenzIndizes <- seq(1,10,2)#Indizes ist c(1, 3, 5, 7, 9) |
rep(x , ntimes) | x n-mal wiederholeny <- rep(1:3, 2)# y ist c(1, 2, 3, 1, 2, 3) |
cut(x , n) | Kontinuierliche Variable in Faktor mit n Stufen unterteilensy <- cut(x, 5) |
Beachte, dass die Beispiele auf dieser Seite zwar Funktionen auf einzelne Variablen anwenden, viele aber auch auf Vektoren und Matrizen angewendet werden können.