Ich weiß nicht, wie solche Handlungen heißen, und deshalb habe ich dieser Frage nur einen dummen Titel gegeben.
Angenommen, ich habe einen geordneten Datensatz wie folgt
4253 4262 4270 4383 4394 4476 4635 ...
Jede Zahl entspricht der Anzahl der Beiträge, die ein bestimmter Benutzer zu einer Website beigetragen hat. Ich untersuche empirisch das hier definierte Phänomen der "Partizipationsungleichheit" .
Um es einfacher zu machen, möchte ich ein Diagramm erstellen, das es dem Leser ermöglicht, schnell Aussagen wie "10% der Benutzer tragen 50% der Daten bei" abzuleiten. Es sollte wahrscheinlich ähnlich aussehen wie diese zugegebenermaßen ziemlich miese Farbskizze:
Ich habe keine Ahnung, wie das heißt, daher weiß ich nicht, wo ich suchen soll. Auch wenn jemand eine Implementierung in R
hätte, wäre das fantastisch.
quelle
ecdf
inR
für einen Start. Der Begriff ist "empirische kumulative Verteilungsfunktion". Möglicherweise interessieren Sie sich auch für "Wahrscheinlichkeitsdiagramme" und "QQ-Diagramme": Es handelt sich um Versionen des ECDF, die die Daten auf verschiedenen (nichtlinearen) Skalen anzeigen.ecdf
und habe es schon einmal benutzt, aber auf die "klassische" Weise, dass die x-Achse die Anzahl der Buchungen und die y-Achse ihre Wahrscheinlichkeit anzeigt. Ich weiß nicht, wie ich so etwas machen soll.Antworten:
Wenn Sie dies einfach mit den
R
Basisbefehlen tun möchten, können die folgenden Codes hilfreich sein.Zuerst lesen Sie die Daten.
Dann können Sie den Beitrag jedes Benutzers sehen.
Sie können auch sehen, wie viel die ersten zwei, drei, vier, ..., sieben Personen beitragen.
Schließlich können Sie Ihr gewünschtes Diagramm (in Proportionen in beiden Achsen) mit den folgenden Befehlen erhalten:
Ich habe die Achsen so beschriftet, wie Sie es wollten. Sie erhalten einen klaren Überblick darüber, wie viel Prozent der Daten von einem bestimmten Personenanteil bereitgestellt werden.
quelle
Ich habe einen Weg gefunden, die Lorenz-Kurve schnell zu visualisieren
ggplot2
, was zu einer ästhetischeren und leichter zu interpretierenden Grafik führte. Aus diesem letzteren Grund habe ich die Lorenzkurve auf der diagonalen Linie gespiegelt, was zu einer intuitiveren Form führt, wenn Sie mich fragen. Es enthält auch Anmerkungszeilen, die die Erklärung des Diagramms erleichtern sollen (z. B. "Die 5% der am häufigsten beitragenden Benutzer machen 50% der Daten aus"). Achtung: Das Finden der richtigen Stelle für die Anmerkungszeile verwendet eine ziemlich idiotische Heuristik und funktioniert möglicherweise nicht mit einem kleineren Datensatz.Beispieldaten:
Code:
quelle
Zwei weitere Möglichkeiten, dies zu tun, da ich kürzlich für klinische Impfstoffstudien daran gearbeitet habe:
1.Verwenden Sie Hmisc Ecdf. Dies ist unkompliziert und zeigt, wie schwierig es ist, Details zum Ändern verschiedener Elemente des Diagramms herauszufinden.
2.Berechnen Sie die kumulative Verteilung und dann ist 1-kumulativ umgekehrt kumulativ. Zeichnen Sie die Umkehrung mit ggplot2 mit geom_step, wenn Sie eine Schrittfunktion im Diagramm mögen. Die folgende Funktion würde ecdf von Basis r verwenden, um Ihnen eine kumulative Verteilung zu geben, und dann 1-kumulativ:
im obigen rcdf ist eine benutzerdefinierte Funktion, die mit ecdf definiert wurde.
quelle