geom_boxplot() von ggplot2 : erzwingen einer leeren Ebene angezeigt
Ich kann nicht einen Weg finden, um zu Fragen, ggplot2, um zu zeigen, eine leere Ebene in einem boxplot, ohne zu unterstellen, mein dataframe mit den tatsächlichen fehlende Werte.
Hier ist reproduzierbar-code :
# fake data
dftest <- expand.grid(time=1:10,measure=1:50)
dftest$value <- rnorm(dim(dftest)[1],3+0.1*dftest$time,1)
# and let's suppose we didn't observe anything at time 2
# doesn't work even when forcing with factor(..., levels=...)
p <- ggplot(data=dftest[dftest$time!=2,],aes(x=factor(time,levels=1:10),y=value))
p + geom_boxplot()
# only way seems to have at least one actual missing value in the dataframe
dftest2 <- dftest
dftest2[dftest2$time==2,"value"] <- NA
p <- ggplot(data=dftest2,aes(x=factor(time),y=value))
p + geom_boxplot()
Also ich denke, ich bin etwas fehlt. Dies ist nicht ein problem, wenn es mit einem symmetrischen experiment, wo diese fehlenden Daten werden explizit in den dataframe. Aber mit den beobachteten Daten in einer Kohorte zum Beispiel, bedeutet es, unterstellen, die Daten mit fehlenden Werten für die beobachteten Kombinationen...
Vielen Dank für Ihre Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die Pausen in einem geeigneten Maßstab Funktion, in diesem Fall
scale_x_discrete
. Stellen Sie sicher, Sie verwenden das argumentdrop=FALSE
:Mache ich gerne meine Daten manipulation im Voraus zu senden, es zu
ggplot
. Ich denke, das macht den code lesbarer zu gestalten. Dies ist, wie ich würde es selbst tun, aber die Ergebnisse sind die gleichen. Beachten Sie jedoch, dass dieggplot
Waage wird viel einfacher, da Sie nicht haben, um geben Sie die Pausen: