Mittelwert "als Zahl" im Plot anzeigen

Alles zum Thema der beschreibenden Statistik

Moderator: jogo

Antworten
Walt17
Beiträge: 4
Registriert: Mi Mär 17, 2021 3:56 pm

Mittelwert "als Zahl" im Plot anzeigen

Beitrag von Walt17 »

Hallo zusammen!

ich beschäftige mich nun seit fast zwei Wochen mit R (daher seht es mir nach, wenn ich das Ganze auch einfacher hätte konstruieren können, als den Datensatz mithochzuladen...) und habe mir zum Ziel gesetzt einen aussagekräftigen Plot zu erstellen.

Hier in dem Beispiel vergleiche ich die Variablen "Geschlecht" und "Gewicht" aber auf Gruppenebene: Gruppe Male und Gruppe Female.

Das Ganze stelle ich in Form von Boxplots dar. Zusätzlich habe ich durch die summary Funktion die jeweiligen Mittelwerte (grüner Punkt) aufgetragen. Nun habe ich direkt auf einem Blick meinen Median und Mittelwert. Ich würde mir wünschen, dass zusätzlich durch ein Label der jeweilige Mittelwert neben dem Punkt angezeigt wird. Der aktuelle Code sieht folgendermaßen aus:

Code: Alles auswählen

```{r}

```{r setup, include=FALSE}
knitr::opts_chunk$set(
	echo = TRUE,
	message = FALSE,
	warning = FALSE)
```

#Bibliotheken
```{r}
library(car)
library(foreign)
library(pander)
library(descr)
library(psych)
library(ggplot2)
library(plotly)
library(mosaic)
library(pastecs)
```

#Datei einlesen
```{r}
df <- read.csv2("data_bsp_bmi2.csv")
attach(df)
```

# männlich und weiblich Gruppen erstellen
```{r}
groupM <- subset(df,Geschlecht == 0)
groupF <- subset(df,Geschlecht == 1)
```

#Statistische Daten zu den Gruppen
```{r}
pander(describe(groupF))
pander(describe(groupM))
```

#Boxplot + Mittelwert + Labels am Mittelwert?
```{r}
abb1 <- ggplot(subs, aes(y = gender, x = Gewicht, color = gender)) +
  labs(x="Gewicht", y="Geschlecht")+
  geom_boxplot()+
  stat_summary(fun=mean, geom="point", shape=20, size=5, color="green", fill="green") +
  theme_classic()+
  theme(panel.grid.major.x = element_line(color = "#000000",size = 1, linetype = "dotted"))
abb1
```


Habt ihr alten Hasen eventuell noch weitere gute Ideen? Ansonsten kann ich mir gut vorstellen, dass es von der jeweiligen Fragestellung abhängt was schick zu haben wäre, aber es gibt da ja ein paar "allgemein wichtige" Kennzahlen, die man zusätzlich in die obere rechte Eck schreiben könnte (falls möglich)

Danke fürs Lesen :)


[/code]
Dateianhänge
data_bsp_bmi2.csv
(2.55 KiB) 126-mal heruntergeladen
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Mittelwert "als Zahl" im Plot anzeigen

Beitrag von student »

Hallo Walt17,

ich habe da mal hier (ab Minute 6:47) etwas gemacht, was in Deine Richtung geht. Vielleicht hilft es Dir....
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mittelwert "als Zahl" im Plot anzeigen

Beitrag von bigben »

geom_label() ist Dir bekannt?
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Mittelwert "als Zahl" im Plot anzeigen

Beitrag von jogo »

Hallo Walt,

willkommen im Forum!
Walt17 hat geschrieben: Mi Mär 24, 2021 8:07 pm

Code: Alles auswählen

# ...
df <- read.csv2("data_bsp_bmi2.csv")
attach(df)
# ...
Habt ihr alten Hasen eventuell noch weitere gute Ideen?
Hier ist noch ein guter Rat:
viewtopic.php?f=7&t=5

Gruß, Jörg
Walt17
Beiträge: 4
Registriert: Mi Mär 17, 2021 3:56 pm

Re: Mittelwert "als Zahl" im Plot anzeigen

Beitrag von Walt17 »

Hallo zusammen,

erst einmal Danke für die Antworten!

@student: leider beantworte es meine vorrangig gestellte Frage nicht, dennoch Danke für das Video!

@bigben: nicht sicher, ob es eine rhetorische Frage war, aber nein, mir ist aktuell noch nicht so viel innerhalb von R bekannt und somit kannte ich auch geom_label() bisher noch nicht. Ich habe mal auf die schnelle etwas mit dieser Funktion versucht, noch ist mir aber nichts gelungen... (an welche Stelle, wie verschachteln ...)

@Jörg vielen Dank, auch für den Rat bezüglich attach! :-)
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Mittelwert "als Zahl" im Plot anzeigen

Beitrag von bigben »

Nein, keine rhetorische Frage. geom_text und geom_label sind Elemente des Grafiksystems ggplot2 mit denen man Text oder eben auch Zahlen in Grafiken einfügen kann. Hier ein lauffähiges Minimalbeispiel, in dem Mittelwert in Boxplots eingetragen werden:

Code: Alles auswählen

library(ggplot2)
library(mosaic)
bsp <- data.frame(klasse = gl(3,10), werte = rbeta(30,1,8))  # das sind zufällige Beispieldaten
means <- round(mean(bsp$werte ~ bsp$klasse),2)
means <- data.frame(klasse = names(means), mittelwerte = means)
ggplot(bsp) +
  geom_boxplot(aes(x=klasse, y = werte)) + 
  geom_label(aes(x=klasse, y= mittelwerte, label = mittelwerte), means) +
  geom_label(aes(x=2.5, y = .3, label = "Hallo !"))
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten