R - Normalverteilung: Ein freundlicher Leitfaden für Anfänger
Hallo da draußen, zukünftige R-Zauberer! ? Heute tauchen wir in die faszinierende Welt der Normalverteilungen in R ein. Keine Sorge, wenn ihr vorher noch nie programmiert habt – ich werde euer freundlicher Guide auf dieser Reise sein, und wir gehen Schritt für Schritt vor. Am Ende dieses Tutorials werdet ihr erstaunt sein, was ihr mit nur wenigen Zeilen Code erreichen könnt!
Was ist eine Normalverteilung?
Bevor wir uns R zuwenden, lassen Sie uns schnell darüber sprechen, was eine Normalverteilung ist. Stellen Sie sich vor, Sie messen die Körpergrößen aller Schüler in Ihrer Schule. Sie würden wahrscheinlich feststellen, dass die meisten Menschen Durchschnittsgröße haben, während weniger Menschen sehr groß oder sehr klein sind. Wenn Sie dies in einem Diagramm darstellen würden, würde es wie eine Glockenkurve aussehen. Das ist eine Normalverteilung!
In der Statistik verwenden wir Normalverteilungen ständig, und R hat einige großartige Funktionen, um uns bei der Arbeit mit ihnen zu helfen. Lassen Sie uns diese Funktionen einzeln erkunden.
Die R Normalverteilungsfunktionen
R bietet vier Hauptfunktionen für die Arbeit mit Normalverteilungen. Hier ist eine schnelle Übersicht:
Funktion | Zweck |
---|---|
dnorm() | Berechnet die Dichte (Höhe) der Normalverteilung an einem gegebenen Punkt |
pnorm() | Berechnet die kumulative Wahrscheinlichkeit (Fläche unter der Kurve) bis zu einem gegebenen Punkt |
qnorm() | Findet den Wert (Quantil), der einer gegebenen Wahrscheinlichkeit entspricht |
rnorm() | Generiert zufällige Zahlen aus einer Normalverteilung |
Nun tauchen wir in jede dieser Funktionen ein und schauen uns an, wie sie funktionieren!
dnorm(): Die Dichtefunktion
Die dnorm()
Funktion hilft uns, die Höhe der Normalverteilungskurve an jedem gegebenen Punkt zu finden. Es ist, als würden Sie fragen: "Wie wahrscheinlich ist dieser spezifische Wert?"
Lassen Sie uns ein Beispiel ausprobieren:
# Berechne die Dichte bei x = 0 für eine standardisierte Normalverteilung
result <- dnorm(0)
print(result)
Wenn Sie diesen Code ausführen, werden Sie sehen:
[1] 0.3989423
Das bedeutet, dass die Höhe der standardisierten Normalverteilungskurve bei x = 0 etwa 0.3989 beträgt.
Was aber, wenn wir den Mittelwert oder die Standardabweichung ändern möchten? Kein Problem! Lassen Sie es uns versuchen:
# Berechne die Dichte bei x = 1 für eine Normalverteilung mit Mittelwert = 2 und sd = 0.5
result <- dnorm(1, mean = 2, sd = 0.5)
print(result)
Ausgabe:
[1] 0.1079819
Sehen Sie, wie einfach das war? Wir haben R nur gesagt, dass wir eine Normalverteilung mit einem Mittelwert von 2 und einer Standardabweichung von 0.5 möchten, und dann gefragt, welche Dichte bei x = 1 ist.
pnorm(): Die Kumulative Wahrscheinlichkeitsfunktion
Nun gehen wir zu pnorm()
. Diese Funktion berechnet die Wahrscheinlichkeit, einen Wert kleiner oder gleich einem gegebenen Punkt zu erhalten. Es ist, als würden Sie fragen: "Welche Wahrscheinlichkeit hat es, einen so niedrigen oder niedrigeren Wert zu erhalten?"
Hier ist ein Beispiel:
# Berechne die Wahrscheinlichkeit, einen Wert kleiner oder gleich 1.96
# in einer standardisierten Normalverteilung zu erhalten
result <- pnorm(1.96)
print(result)
Ausgabe:
[1] 0.9750021
Das bedeutet, dass es etwa eine 97.5%ige Wahrscheinlichkeit gibt, einen Wert kleiner oder gleich 1.96 in einer standardisierten Normalverteilung zu erhalten.
Spannende Tatsache: Dies ist der Grund, warum 1.96 oft in der Statistik für 95%ige Vertrauensintervalle verwendet wird!
Lassen Sie uns ein weiteres Beispiel mit einem anderen Mittelwert und einer anderen Standardabweichung versuchen:
# Berechne die Wahrscheinlichkeit, einen Wert kleiner oder gleich 70
# in einer Normalverteilung mit Mittelwert = 60 und sd = 10 zu erhalten
result <- pnorm(70, mean = 60, sd = 10)
print(result)
Ausgabe:
[1] 0.8413447
Das bedeutet, dass es etwa eine 84.1%ige Wahrscheinlichkeit gibt, einen Wert kleiner oder gleich 70 in dieser Verteilung zu erhalten.
qnorm(): Die Quantilfunktion
qnorm()
ist wie das Gegenteil von pnorm()
. Anstatt einen Wert einzugeben und die Wahrscheinlichkeit zu fragen, geben wir eine Wahrscheinlichkeit ein und fragen nach dem Wert. Es ist, als würden Sie sagen: "Welcher Wert würde mir diese spezifische Wahrscheinlichkeit geben?"
Lassen Sie es uns ausprobieren:
# Finde den Wert, der einer kumulierten Wahrscheinlichkeit von 0.95
# in einer standardisierten Normalverteilung entspricht
result <- qnorm(0.95)
print(result)
Ausgabe:
[1] 1.644854
Das bedeutet, dass 95% der Werte in einer standardisierten Normalverteilung unter 1.645 liegen.
Wir können auch andere Mittelwerte und Standardabweichungen verwenden:
# Finde den Wert, der einer kumulierten Wahrscheinlichkeit von 0.99
# in einer Normalverteilung mit Mittelwert = 100 und sd = 15 entspricht
result <- qnorm(0.99, mean = 100, sd = 15)
print(result)
Ausgabe:
[1] 134.8745
Also, in dieser Verteilung liegen 99% der Werte unter 134.87.
rnorm(): Generieren von Zufallszahlen
Last but not least haben wir rnorm()
. Diese Funktion ist wie ein magischer Zufallszahlengenerator, der den Regeln einer Normalverteilung folgt. Es ist super nützlich für Simulationen und das Erstellen von Testdaten.
Hier ist, wie man es verwendet:
# Generiere 5 zufällige Zahlen aus einer standardisierten Normalverteilung
random_numbers <- rnorm(5)
print(random_numbers)
Ausgabe (ihre Zahlen werden unterschiedlich sein):
[1] -0.56047565 -0.23017749 1.55870831 0.07050839 0.12928774
Wir können auch einen anderen Mittelwert und eine andere Standardabweichung angeben:
# Generiere 5 zufällige Zahlen aus einer Normalverteilung mit Mittelwert = 50 und sd = 10
random_numbers <- rnorm(5, mean = 50, sd = 10)
print(random_numbers)
Ausgabe (ihre Zahlen werden unterschiedlich sein):
[1] 52.39086 46.08371 47.92569 62.36229 45.45923
Ist das nicht toll? Mit nur einer Zeile Code können wir so viele zufällige Zahlen wie wir wollen generieren, die jeder Normalverteilung folgen, die wir angeben!
Fazit
Und das war's, Leute! Wir haben die Welt der Normalverteilungen in R durchquert und vier mächtige Funktionen erkundet. Denkt daran, Übung macht den Meister, also fürchtet nicht, diese Funktionen auszuprobieren. Versucht verschiedene Werte, plottet die Ergebnisse und seht, was passiert!
Hier ist eine kleine Herausforderung für euch: Versucht, mit rnorm()
1000 zufällige Zahlen zu generieren, und verwendet hist()
um ein Histogramm dieser Zahlen zu plotten. Ihr werdet die Normalverteilung vor euren Augen zum Leben erwecken!
Frohes Coden und möge die Normalverteilung mit euch sein! ???
Credits: Image by storyset