0
Ich frage mich, was ist falsch an meinem Code?
Mein Code ist wie:Wie AOV Post-hoc-Test zu Ggplot2 Boxplot hinzufügen? Ich kann die Beschriftungen in meinem Diagramm nicht darstellen
a=aov(tem.range~Butterfly.colonies, data=my.data)
summary(a)
tHSD <- TukeyHSD(a, ordered = FALSE, conf.level = 0.95)
tHSD
generate_label_df <- function(HSD, flev){
# Extract labels and factor levels from Tukey post-hoc
Tukey.levels <- HSD[[flev]][,4]
Tukey.labels <- multcompLetters(Tukey.levels)['Letters']
plot.labels <- names(Tukey.labels[['Letters']])
boxplot.df <- ddply(my.data, flev, function (x) max(fivenum(x$y)) + 0.2)
plot.levels <- data.frame(plot.labels, labels = Tukey.labels[['Letters']], stringsAsFactors = FALSE)
# Merge it with the labels
labels.df <- merge(plot.levels, boxplot.df, by.x = 'plot.labels', by.y = flev, sort = FALSE)
return(labels.df)
}
ggplot(my.data, aes(x=Butterfly.colonies, y=tem.range))+
geom_boxplot(width = 0.5) +
scale_y_continuous(breaks = seq(0, 20, by = 2))+
theme(plot.margin=unit(c(1,3,1,3),"cm"))+
labs(y="tem.range(Celsius")+
labs(x="Colony")+
geom_text(data = generate_label_df(tHSD, 'Butterfly.colonies'),
aes(x = plot.labels, y = V1, label = labels))
jedoch am Ende gibt
und damit einen Fehler war, kann ich nicht das Etikett auf meinem Diagramm setzt
ich hoffe, es wird wie:
Willkommen bei SO, könnten Sie eine Version veröffentlichen, die die eingebauten Daten von R verwendet ... vielleicht verwenden Sie 'data (iris)' und 'aes (Species, Sepal.Length)', um Ihren Testfall zu approximieren. Oder Sie können einfach 'my.data' als Tabellentext hinzufügen, damit die Leute Ihr Problem reproduzieren können. – Nate