Jitter wenn mehrere Ausreißer in ggplot2 boxplot

8

Ich versuche ein geeignetes Display zu finden, um verschiedene Eigenschaften innerhalb und zwischen Schulklassen zu veranschaulichen. Für jede Klasse gibt es nur 15-30 Datenpunkte (Schüler).

Im Moment bin ich auf einen Whisker-losen Boxplot gelehnt und zeige nur 1., 2.. und 3. Quartil + Datenpunkte mehr als z.B. 1 Population SD +/- der Stichprobenmedian.

Das kann ich tun.

Allerdings - ich muss diesen Graphen einigen Lehrern zeigen, um abzuschätzen, was sie am meisten mögen. Ich möchte meinen Graphen mit einem normalen Boxplot vergleichen. Aber der normale Boxplot sieht genauso aus, wenn es nur einen Ausreißer gibt oder z.B. 5 Ausreißer bei gleichem Wert. In diesem Fall wäre dies ein Deal-Breaker.

z.B.

%Vor%

Hier gibt es zwei Ausreißer bei ("a", 9) - aber nur einen "Punkt" angezeigt.

Also meine Frage: Wie man die Ausreißer juckt. Und - welche Art von Anzeige würden Sie für diese Art von Daten vorschlagen?

    
Andreas 09.06.2010, 22:17
quelle

5 Antworten

8

Sie können die Funktion neu definieren

%Vor%

Dies ist eine Ad-hoc-Lösung. Natürlich sollten Sie im Sinne von OOP eine Unterklasse von GeomBoxplot erstellen und die Funktion überschreiben. Das ist einfach, weil ggplot2 nett ist.

=== hinzugefügt zum Beispiel der Unterklasse Definition ===

%Vor%

Dann können Sie mit Ihrer Unterklasse machen:

%Vor%     
kohske 10.06.2010, 01:28
quelle
6

Es scheint, als ob die angenommene Antwort nicht mehr funktioniert, da ggplot2 aktualisiert wurde. Nach vielen Suchen im Internet fand ich folgendes: Ссылка - Sieh dir Winston Chang an Antwort -

Er berechnet die Ausreißer separat mit ddply und plottet sie dann mit

%Vor%

hat die Ausreißerausgabe auf dem geom_boxplot () deaktiviert:

%Vor%

Hier ist der vollständige Code von der oben genannten URL:

%Vor%     
Ant 03.09.2013 18:38
quelle
1

Erhält Sie das, wonach Sie suchen? Die Grenze, bis zu der der Jitter beginnt, ist nicht automatisch, aber es ist ein Anfang.

%Vor%     
Greg 09.06.2010 23:17
quelle
1

Angesichts der geringen Anzahl von Datenpunkten möchten Sie alle Punkte und nicht nur die Ausreißer darstellen. Dies wird helfen, die Verteilung von Punkten in Ihrem Boxplot herauszufinden.

Sie können das mit geom_jitter machen, aber beachte, dass box_plot bereits Punkte für die Ausreißer darstellt, damit sie nicht doppelt angezeigt werden, müssen Sie die Ausreißeranzeige des Boxplot mit geom_boxplot(outlier.shape = NA) ausschalten.

%Vor%

    
Pablo Marin-Garcia 01.07.2011 16:50
quelle
0

Code-Code funktioniert nicht mehr. Für die aktuelle Version von ggplot2 habe ich folgende Klasse verwendet:

%Vor%     
Viktor Petukhov 08.10.2017 17:27
quelle

Tags und Links