Ich muss die kumulative Verteilungsfunktion einer Datenprobe berechnen.
Gibt es in R etwas Ähnliches wie hist (), das die kumulative Dichtefunktion misst?
Ich habe versucht, ecdf (), aber ich kann die Logik nicht verstehen.
r
distributions
cdf
Emanuele
quelle
quelle
x
schreiben Sie einfachP(x)
. Beachten Sie, dassx
dies ein Vektor sein kann (siehe die letzten paar Sätze meiner Antwort.)Was Sie anscheinend brauchen, ist dies, um die akkumulierte Verteilung zu erhalten (Wahrscheinlichkeit, einen Wert <= als x für eine Stichprobe zu erhalten), ecdf gibt Ihnen eine Funktion zurück, die jedoch zum Zeichnen gedacht zu sein scheint, und somit das Argument dieser Funktion Wenn es eine Treppe wäre, wäre das der Index des Schrittes.
Sie können dies verwenden:
Leider ist die Verwendung dieser Funktion nicht sehr schnell. Ich weiß nicht, ob R eine Funktion hat, die Ihnen eine Funktion zurückgibt, die effizienter wäre.
quelle
R
berechnet tatsächlich den ECDF: sein Argument ist ein potentieller Wert der Zufallsvariablen und gibt Werte im Intervall . Dies ist leicht zu überprüfen. Zum Beispiel kehrt zurück . Eine verallgemeinerte Inverse des ECDF ist die von in implementierte Quantilfunktion .ecdf(c(-1,0,3,9))(8)
0.75
quantile
R
Ich fand
ecdf()
es immer etwas verwirrend. Außerdem denke ich, dass es nur im univariaten Fall funktioniert. Ich habe dafür meine eigene Funktion übernommen.Installieren Sie zuerst data.table . Dann installiere mein Paket, mltools (oder kopiere einfach die Methode empirical_cdf () in deine R-Umgebung.)
Dann ist es so einfach wie
CDF eines Vektors
CDF der Spalte 'x' von dt
CDF der Spalten 'x' und 'y' von dt
quelle
Freund, Sie können den Code auf diesem Blog lesen.
Weitere Details finden Sie unter folgendem Link:
r cdf und histogramm
quelle