Wie kann ich die konsistente Boxbreite in einem Boxplot erhalten, in der die faktor * -Gruppenkombination keine Beobachtungen enthält?

8

Ich versuche, einen Boxplot für 2 Gruppen über mehrere Faktoren hinweg zusammen mit Labels für die Anzahl der Beobachtungen zu erstellen. Wenn es für eine Gruppe keine Ein-Faktor-Ebene gibt, nimmt die Box für die Gruppe mit Beobachtungen den Raum von beiden ein und sieht seltsam aus.

Minimales Beispiel:

%Vor%

Was produziert:

Gibt es eine Möglichkeit, das Kästchen für am(1) bei cyl(8) die Hälfte der Breite zu setzen, damit es mit den anderen Kästchen auf der Handlung übereinstimmt? Ich habe versucht, gefälschte Daten zu verwenden, aber das führt zu einer Zählkennzeichnung für am(0) at cyl(8) .

    
JLC 11.12.2017, 04:19
quelle

2 Antworten

1

Ich konnte eine vernünftige Lösung dafür finden, indem ich die neueste Version von ggplot2 von GitHub installiere und position_dodge2 verwende, das standardmäßig preserve = "single" verwendet.

%Vor%

    
JLC 12.12.2017, 14:16
quelle
1

Ich habe auf dieser Seite einige Antworten gesehen, die das Hinzufügen von falschen Werten oder die Verwendung von ggplot_build betreffen. Ich würde über interaction nachdenken. Hier ist ein einfaches Beispiel basierend auf Ihrem Code:

%Vor%

Eine weitere Option ist die Verwendung von Facetten für die dritte Variable:

%Vor%

    
neilfws 11.12.2017 06:16
quelle

Tags und Links