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.

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert