Boxplot mit Metrischer x-achsen Skalierung
Verfasst: Fr Jul 01, 2022 9:44 am
Hallo zusammen,
in meinem aktuellen Projekt messe ich eine Dosis-Wirkungs-Beziehung.
Im Code habe ich einen Beispieldatensatz erstellt der meine Ergebnisse ungefähr abbildet.
Jetzt komme ich zu meiner Frage.
Ich würde gerne einen Boxplot mit einer "metrischen" x Achse erstellen. In diesem Plot würde ich dann gerne die Mediane mit einer Linie verbinden. Wenn nun die x Achse des Boxplots nicht kategorial sondern metrisch skaliert wäre würde die Linie die durch die Mediane verläuft eine Sättigungskurve ergeben.
Ist so eine Darstellung mit R möglich und wenn Ja Wie?
Für eure Hilfe wäre ich sehr Dankbar!
Viele Grüße
Robert
library(ggplot2)
library(ggpubr)
library(tidyr)
#Beispieldatensatz
set.seed(2022)
d_10 <- rnorm(n=50,mean=50,sd=12)
d_15 <- rnorm(n=50,mean=70,sd=10)
d_20 <- rnorm(n=50,mean=90,sd=8)
d_30 <- rnorm(n=50,mean=112,sd=6)
d_40 <- rnorm(n=50,mean=120,sd=6)
data <- data.frame(d_10,d_15,d_20,d_30,d_40)
tidydata <- pivot_longer(data,cols = c("d_10","d_15","d_20","d_30", "d_40")
,names_to = "Dosis",values_to = "Readout")
stable <- desc_statby(tidydata, measure.var = "Readout",grps = "Dosis")
#Boxplot
plot1 <- ggplot(tidydata, aes(x = Dosis, y = Readout)) +
geom_boxplot(outlier.color = NA) +
geom_jitter(aes(), width =.2) +
xlab("Dosis") + ylab("Readout") + ylim(0, 150)
plot1
#Lineplot
x <- c(10,15,20,30,40)#xAchse
plot2 <- ggplot(stable,aes(x=x,y=median)) +
geom_point()+ geom_line()+
xlab("Dosis") + ylab("Readout") +
ylim(0, 150)
plot2
in meinem aktuellen Projekt messe ich eine Dosis-Wirkungs-Beziehung.
Im Code habe ich einen Beispieldatensatz erstellt der meine Ergebnisse ungefähr abbildet.
Jetzt komme ich zu meiner Frage.
Ich würde gerne einen Boxplot mit einer "metrischen" x Achse erstellen. In diesem Plot würde ich dann gerne die Mediane mit einer Linie verbinden. Wenn nun die x Achse des Boxplots nicht kategorial sondern metrisch skaliert wäre würde die Linie die durch die Mediane verläuft eine Sättigungskurve ergeben.
Ist so eine Darstellung mit R möglich und wenn Ja Wie?
Für eure Hilfe wäre ich sehr Dankbar!
Viele Grüße
Robert
library(ggplot2)
library(ggpubr)
library(tidyr)
#Beispieldatensatz
set.seed(2022)
d_10 <- rnorm(n=50,mean=50,sd=12)
d_15 <- rnorm(n=50,mean=70,sd=10)
d_20 <- rnorm(n=50,mean=90,sd=8)
d_30 <- rnorm(n=50,mean=112,sd=6)
d_40 <- rnorm(n=50,mean=120,sd=6)
data <- data.frame(d_10,d_15,d_20,d_30,d_40)
tidydata <- pivot_longer(data,cols = c("d_10","d_15","d_20","d_30", "d_40")
,names_to = "Dosis",values_to = "Readout")
stable <- desc_statby(tidydata, measure.var = "Readout",grps = "Dosis")
#Boxplot
plot1 <- ggplot(tidydata, aes(x = Dosis, y = Readout)) +
geom_boxplot(outlier.color = NA) +
geom_jitter(aes(), width =.2) +
xlab("Dosis") + ylab("Readout") + ylim(0, 150)
plot1
#Lineplot
x <- c(10,15,20,30,40)#xAchse
plot2 <- ggplot(stable,aes(x=x,y=median)) +
geom_point()+ geom_line()+
xlab("Dosis") + ylab("Readout") +
ylim(0, 150)
plot2