Eine anleitung zu dnorm, pnorm, qnorm und rnorm in r
Die Normalverteilung ist die in der Statistik am häufigsten verwendete Verteilung. In diesem Tutorial wird erläutert, wie Sie die Normalverteilung in R mithilfe der Funktionen dnorm , pnorm , rnorm und qnorm verwenden.
schrecklich
Die dnorm- Funktion gibt den Wert der Wahrscheinlichkeitsdichtefunktion (pdf) der Normalverteilung bei gegebener Zufallsvariable x , einem Populationsmittelwert μ und einer Populationsstandardabweichung σ zurück. Die Syntax für die Verwendung von dnorm lautet wie folgt:
dnorm(x, Mittelwert, sd)
Der folgende Code zeigt einige Beispiele von dnorm in Aktion:
#find the value of the standard normal distribution pdf at x=0 dnorm(x=0, mean=0, sd=1) #[1]0.3989423 #by default, R uses mean=0 and sd=1 dnorm(x=0) #[1]0.3989423 #find the value of the normal distribution pdf at x=10 with mean=20 and sd=5 dnorm(x=10, mean=20, sd=5) #[1]0.01079819
Wenn Sie versuchen, Fragen zur Wahrscheinlichkeit mithilfe der Normalverteilung zu lösen, verwenden Sie normalerweise häufig pnorm anstelle von dnorm . Eine nützliche Anwendung von dnorm besteht jedoch darin, ein Normalverteilungsdiagramm in R zu erstellen. Der folgende Code veranschaulicht, wie das geht:
#Create a sequence of 100 equally spaced numbers between -4 and 4 x <- seq(-4, 4, length=100) #create a vector of values that shows the height of the probability distribution #for each value in x y <- dnorm(x) #plot x and y as a scatterplot with connected lines (type = "l") and add #an x-axis with custom labels plot(x,y, type = "l", lwd = 2, axes = FALSE, xlab = "", ylab = "") axis(1, at = -3:3, labels = c("-3s", "-2s", "-1s", "mean", "1s", "2s", "3s"))
Dies erzeugt die folgende Darstellung:
pnorm
Die pnorm- Funktion gibt den Wert der kumulativen Dichtefunktion (cdf) der Normalverteilung bei gegebener Zufallsvariable q , einem Populationsmittelwert μ und einer Populationsstandardabweichung σ zurück. Die Syntax für die Verwendung von pnorm lautet wie folgt:
pnorm(q, Mittelwert, SD)
Vereinfacht ausgedrückt gibt pnorm die Fläche links von einem gegebenen Wert x in der Normalverteilung zurück. Wenn Sie sich für den Bereich rechts von einem bestimmten q- Wert interessieren, können Sie einfach das Argument Lower.tail = FALSE hinzufügen
pnorm(q, Durchschnitt, SD, unterer Schwanz = FALSCH)
Die folgenden Beispiele veranschaulichen, wie man einige Wahrscheinlichkeitsfragen mit pnorm löst.
Beispiel 1: Angenommen, die Größe der Männer in einer bestimmten Schule ist normalverteilt mit einem Mittelwert von einer Standardabweichung von
#find percentage of males that are taller than 74 inches in a population with #mean = 70 and sd = 2 pnorm(74, mean=70, sd=2, lower.tail=FALSE) # [1]0.02275013
An dieser Schule sind 2.275 % der Männer über 74 Zoll groß.
Beispiel 2: Angenommen, das Gewicht einer bestimmten Otterart ist normalverteilt mit einem Mittelwert von einer Standardabweichung von
#find percentage of otters that weight less than 22 lbs in a population with #mean = 30 and sd = 5 pnorm(22, mean=30, sd=5) # [1]0.05479929
Etwa 5,4799 % dieser Otterart wiegen weniger als 22 Pfund.
Beispiel 3: Angenommen, die Höhe der Pflanzen in einer bestimmten Region ist normalverteilt mit einem Mittelwert von einer Standardabweichung von
#find percentage of plants that are less than 14 inches tall, then subtract the #percentage of plants that are less than 10 inches tall, based on a population #with mean = 13 and sd = 2 pnorm(14, mean=13, sd=2) - pnorm(10, mean=13, sd=2) # [1]0.6246553
Etwa 62,4655 % der Pflanzen in dieser Region sind zwischen 10 und 14 Zoll groß.
qnorm
Die qnorm- Funktion gibt den Wert der inversen kumulativen Dichtefunktion (cdf) der Normalverteilung zurück, wenn eine Zufallsvariable p , ein Populationsmittelwert μ und eine Populationsstandardabweichung σ gegeben sind. Die Syntax für die Verwendung von qnorm lautet wie folgt:
qnorm (p, Mittelwert, SD)
Einfach ausgedrückt können Sie qnorm verwenden, um herauszufinden, wie hoch der Z-Wert des p-ten Quantils der Normalverteilung ist.
Der folgende Code zeigt einige Beispiele von qnorm in Aktion:
#find the Z-score of the 99th quantile of the standard normal distribution qnorm(.99, mean=0, sd=1) #[1]2.326348 #by default, R uses mean=0 and sd=1 qnorm(.99) #[1]2.326348 #find the Z-score of the 95th quantile of the standard normal distribution qnorm(.95) #[1]1.644854 #find the Z-score of the 10th quantile of the standard normal distribution qnorm(.10) #[1]-1.281552
rnorm
Die rnorm- Funktion generiert einen Vektor normalverteilter Zufallsvariablen bei gegebener Vektorlänge n , einem Populationsmittelwert μ und einer Populationsstandardabweichung σ . Die Syntax für die Verwendung von rnorm lautet wie folgt:
rnorm(n, Mittelwert, SD)
Der folgende Code zeigt einige Beispiele von rnorm in Aktion:
#generate a vector of 5 normally distributed random variables with mean=10 and sd=2 five <- rnorm(5, mean = 10, sd = 2) five # [1] 10.658117 8.613495 10.561760 11.123492 10.802768 #generate a vector of 1000 normally distributed random variables with mean=50 and sd=5 narrowDistribution <- rnorm(1000, mean = 50, sd = 15) #generate a vector of 1000 normally distributed random variables with mean=50 and sd=25 wideDistribution <- rnorm(1000, mean = 50, sd = 25) #generate two histograms to view these two distributions side by side, specify #50 bars in histogram and x-axis limits of -50 to 150 par(mfrow=c(1, 2)) #one row, two columns hist(narrowDistribution, breaks=50, xlim=c(-50, 150)) hist(wideDistribution, breaks=50, xlim=c(-50, 150))
Dadurch werden folgende Histogramme generiert:
Beachten Sie, dass die breite Verteilung viel breiter ist als die enge Verteilung. Tatsächlich haben wir angegeben, dass die Standardabweichung in der breiten Verteilung 25 betrug, während sie in der engen Verteilung nur 15 betrug. Beachten Sie auch, dass beide Histogramme um den Mittelwert von 50 zentriert sind.