Quindi, ho un dataset abbastanza grande (Dropbox: csv file) che sto cercando di tracciare usando geom_boxplot
. Di seguito produce quello che sembra essere un complotto ragionevole:mediano di boxplot ggplot2 mediano non stanno tramando come previsto
require(reshape2)
require(ggplot2)
require(scales)
require(grid)
require(gridExtra)
df <- read.csv("\\Downloads\\boxplot.csv", na.strings = "*")
df$year <- factor(df$year, levels = c(2010,2011,2012,2013,2014), labels = c(2010,2011,2012,2013,2014))
d <- ggplot(data = df, aes(x = year, y = value)) +
geom_boxplot(aes(fill = station)) +
facet_grid(station~.) +
scale_y_continuous(limits = c(0, 15)) +
theme(legend.position = "none"))
d
Tuttavia, quando si scava un po 'più profonda, problemi insinuarsi che mi fuori di testa. Quando ho etichettato le mediane di boxplot con i loro valori, i seguenti risultati della trama.
df.m <- aggregate(value~year+station, data = df, FUN = function(x) median(x))
d <- d + geom_text(data = df.m, aes(x = year, y = value, label = value))
d
Le mediane tracciati dal geom_boxplot non sono affatto le mediane a tutti. Le etichette sono tracciate con il valore dell'asse y corretto, ma la cerniera centrale dei riquadrati non si trova nelle mediane. Sono stato sconcertato da questo per alcuni giorni.
Qual è il motivo? Come può essere prodotto questo tipo di display con mediane corrette? Come può questa trama essere debellata o diagnosticata?
Il codice di esempio presenta un'incoerenza. Stai chiamando 'geom_text' contro' temp.m', ma la mediana è stata calcolata in 'turb.m'. Potrebbe essere questo il problema? – vpipkt
Ah! Buon appello a questo ... Ho provato a rimuovere le mie incongruenze dal codice originale, ma mi mancava quello. Questo errore causerebbe il fallimento del layer geom_text, ma anche senza il testo geom aggiunto al plot, le mediane sono ancora disegnate in modo errato sui boxplot. –
Il "*" nel campo 'value' deve essere interpretato come NA? – vpipkt