ggplot (barplot) & Tukey-Test

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

Antworten
flip_0207
Beiträge: 11
Registriert: Do Dez 06, 2018 7:46 pm

ggplot (barplot) & Tukey-Test

Beitrag von flip_0207 » Sa Mär 16, 2019 1:07 am

Hallo

Ich habe folgendes Problem:

Die Ergebnisse einer ANOVA und des Tukey-Tests möchte ich gerne mit ggplot grafisch darstellen. Grundsätzlich schaffe ich es, ein Balkendiagramm mit Standardabweichung zu erstellen und die beiden Tests durchzuführen.
Mir fehlt im Diagramm jedoch noch die Signifikanzentscheidung anhand der Buchstaben, die über dem jeweiligen Balken stehen sollen.

Habe dazu mal ein kleines Beispiel vorbereitet:

Code: Alles auswählen

library(tidyverse)
library(agricolae)

Beispiel <-data.frame(Variante=factor(c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3)),
                      Messwert=c(64,87,54,98,14,5,8,9,9,2,12,15,7,8,7))

AOV_Beispiel <- aov(Messwert~Variante, data = Beispiel)
Tukey_Beispiel <-HSD.test(AOV_Beispiel,"Variante",
                              group = TRUE,
                              console = TRUE)
HSD.test gibt mir für den Beispieldatensatz folgendes heraus:

Code: Alles auswählen

  Messwert groups
1     63.4      a
3      9.8      b
2      6.6      b
Damit hätte ich also zwei Gruppen "a" und "b".

Gibt es eine einfache, automatische und möglichst elegante Lösung, diese gängige Darstellungsweise mit ggplot zu erreichen?

Gruß
Flip

Benutzeravatar
EDi
Beiträge: 939
Registriert: Sa Okt 08, 2016 3:39 pm

Re: ggplot (barplot) & Tukey-Test

Beitrag von EDi » Sa Mär 16, 2019 9:52 pm

Was hast du denn probiert?

Hier ein Beispiel mit emmeans (ich mag agricolae nicht), das du sicherlich anpassen kannst.

Code: Alles auswählen

library("emmeans")
library("ggplot2")
Beispiel <-data.frame(Variante=factor(c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3)),
                      Messwert=c(64,87,54,98,14,5,8,9,9,2,12,15,7,8,7))
mod <- lm(Messwert~Variante, data = Beispiel)
emm <- emmeans(mod, ~Variante)
sig_lett <- CLD(emm, adjust = "tukey", Letters = letters)
df <- data.frame(sig_lett)
df

ggplot(data = df, aes(x = Variante)) +
  geom_pointrange(aes(y = emmean, ymin = lower.CL, ymax = upper.CL)) +
  geom_text(aes(y = upper.CL, label = trimws(.group)), vjust = -1)
Dateianhänge
Rplot.png
Rplot.png (9.91 KiB) 387 mal betrachtet
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.

flip_0207
Beiträge: 11
Registriert: Do Dez 06, 2018 7:46 pm

Re: ggplot (barplot) & Tukey-Test

Beitrag von flip_0207 » So Mär 17, 2019 3:01 pm

Danke, das werde ich mal versuchen.
Ideal wäre es mit agricolae, das package nutze ich recht viel für Statistik.

Dafmen
Beiträge: 12
Registriert: Sa Nov 02, 2019 1:37 pm

Re: ggplot (barplot) & Tukey-Test

Beitrag von Dafmen » Sa Nov 23, 2019 12:18 pm

Hallo,

auch wen es nicht mein Thread ist, hat mir deine Lösung sehr geholfen. Die Adaption auf meinen Datensatz funktionierte tadellos.
Perfekt.

Danke und Gruß,
Sebastian

Antworten