Eine anleitung zu dt, qt, pt und rt in r
Die Student-t-Verteilung ist eine der am häufigsten verwendeten Verteilungen in der Statistik. In diesem Tutorial wird erläutert, wie Sie mit der Student t-Verteilung in R mithilfe der Funktionen dt() , qt() , pt() und rt() arbeiten.
dt
Die Funktion dt gibt den Wert der Wahrscheinlichkeitsdichtefunktion (pdf) der Student-t-Verteilung bei gegebener Zufallsvariable x und Freiheitsgraden df zurück. Die Syntax für die Verwendung von dt lautet wie folgt:
dt(x, df)
Der folgende Code zeigt einige Beispiele von dt in Aktion:
#find the value of the Student t distribution pdf at x = 0 with 20 degrees of freedom dt(x = 0, df = 20) #[1] 0.3939886 #by default, R assumes the first argument is x and the second argument is df dt(0, 20) #[1] 0.3939886 #find the value of the Student t distribution pdf at x = 1 with 30 degrees of freedom dt(1, 30) #[1] 0.2379933
Wenn Sie versuchen, Fragen zur Wahrscheinlichkeit mithilfe der Student-t-Verteilung zu lösen, verwenden Sie normalerweise häufig pt anstelle von dt . Eine nützliche Anwendung von dt ist jedoch die Erstellung eines Student-t-Verteilungsdiagramms in R. 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, using 20 degrees of freedom y <- dt(x = x, df = 20) #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:
pt
Die pt- Funktion gibt den Wert der kumulativen Dichtefunktion (cdf) der Student-t-Verteilung bei gegebener Zufallsvariable x und Freiheitsgraden df zurück. Die Syntax für die Verwendung von pnorm lautet wie folgt:
pt(x, df)
Vereinfacht ausgedrückt gibt pt die Fläche links von einem gegebenen x- Wert in der Student-t-Verteilung zurück. Wenn Sie sich für den Bereich rechts von einem bestimmten x- Wert interessieren, können Sie einfach das Argument Lower.tail = FALSE hinzufügen
pt(x, df, unterer.schwanz = FALSCH)
Die folgenden Beispiele veranschaulichen, wie man einige Wahrscheinlichkeitsfragen mit pt löst.
Beispiel 1: Finden Sie die Fläche links von einer t-Statistik mit einem Wert von -0,785 und 14 Freiheitsgraden.
pt(-0.785, 14)
#[1] 0.2227675
Beispiel 2: Finden Sie die Fläche rechts von einer T-Statistik mit einem Wert von -0,785 und 14 Freiheitsgraden.
#the following approaches produce equivalent results
#1 - area to the left
1 - pt(-0.785, 14)
#[1] 0.7772325
#area to the right
pt(-0.785, 14, lower.tail = FALSE)
#[1] 0.7772325
Beispiel 3: Ermitteln Sie die Gesamtfläche in einer Student-t-Verteilung mit 14 Freiheitsgraden links von -0,785 oder rechts von 0,785.
pt (-0.785, 14) + pt (0.785, 14, lower.tail = FALSE) #[1] 0.4455351
qt
Die Funktion qt gibt den Wert der inversen kumulativen Dichtefunktion (cdf) der Student-t-Verteilung bei gegebener Zufallsvariable x und Freiheitsgraden df zurück. Die Syntax für die Verwendung von qt lautet wie folgt:
qt(x, df)
Einfach ausgedrückt können Sie qt verwenden, um herauszufinden, wie hoch der t-Score des p-ten Quantils der Student-t-Verteilung ist.
Der folgende Code zeigt einige Beispiele von qt in Aktion:
#find the t-score of the 99th quantile of the Student t distribution with df = 20 qt(.99, df = 20) #[1][1]2.527977 #find the t-score of the 95th quantile of the Student t distribution with df = 20 qt(.95, df = 20) #[1]1.724718 #find the t-score of the 90th quantile of the Student t distribution with df = 20 qt(.9, df = 20) #[1]1.325341
Beachten Sie, dass die von qt ermittelten kritischen Werte den in der t-Verteilungstabelle gefundenen kritischen Werten sowie den kritischen Werten entsprechen, die vom inversen t-Verteilungsrechner ermittelt werden können.
rt
Die Funktion rt generiert einen Vektor von Zufallsvariablen, der bei gegebener Vektorlänge n und Freiheitsgraden df einer Student-t-Verteilung folgt. Die Syntax für die Verwendung von rt lautet wie folgt:
rt(n, df)
Der folgende Code zeigt einige Beispiele von RT in Aktion:
#generate a vector of 5 random variables that follows a Student t distribution #with df = 20 rt(n = 5, df = 20) #[1] -1.7422445 0.9560782 0.6635823 1.2122289 -0.7052825 #generate a vector of 1000 random variables that follows a Student t distribution #with df = 40 narrowDistribution <- rt(1000, 40) #generate a vector of 1000 random variables that follows a Student t distribution #with df = 5 wideDistribution <- rt(1000, 5) #generate two histograms to view these two distributions side by side, and specify #50 bars in histogram, par(mfrow=c(1, 2)) #one row, two columns hist(narrowDistribution, breaks=50, xlim = c(-6, 4)) hist(wideDistribution, breaks=50, xlim = c(-6, 4))
Dadurch werden folgende Histogramme generiert:
Beachten Sie, dass die breite Verteilung breiter ist als die enge Verteilung. Tatsächlich haben wir angegeben, dass die Freiheitsgrade in der breiten Verteilung 5 betrugen, verglichen mit 40 in der engen Verteilung. Je weniger Freiheitsgrade vorhanden sind, desto breiter ist die Student-t-Verteilung.
Weiterführende Literatur:
Eine Anleitung zu dnorm, pnorm, qnorm und rnorm in R
Eine Anleitung zu dbinom, pbinom, qbinom und rbinom in R