Box Plots mit Fallzahl in der x-Achse

Alles zum Thema der beschreibenden Statistik

Moderator: jogo

Antworten
ehi
Beiträge: 5
Registriert: Mi Okt 12, 2016 7:14 pm

Box Plots mit Fallzahl in der x-Achse

Beitrag von ehi » Mi Okt 12, 2016 10:04 pm

Hallo!
Habe ein kleines Problem mit dem Erstellen von schönen Box Plots mit Fallzahlen auf der x-Achse. Der Code sieht so aus:

Code: Alles auswählen

library(reshape2)
library(plyr)

# creating random data
df <- data.frame(
  sex       = factor(rbinom(100,1,0.5), levels = c(0,1), labels = c("male", "female")),
  age_group = factor(sample(1:3,100,replace=T), levels = 1:3, labels = c("young", "middle", "old")),
  variable  = rnorm(100,50,5))

# adding new column including numbers of cases per age group
df1 <- ddply(df, c("age_group", "sex"), transform, N = length(age_group))
# concatenate age_group label and numer of cases, add "\n" for line break in tick labels
df1$label <- paste0(df1$age_group, "\n" , "(n=",df1$N,")")

# creating ggplot
ggplot(df1,aes(x=label,y=variable))+
  geom_boxplot()+
  facet_grid(.~sex, scales = "free")
Man bekommt einen Plot wie unten.
Ich habe jetzt 2 Probleme:
1) Die x-Achse ist nicht geordnet und wenn ich das z.B. mit

Code: Alles auswählen

levels(df1$label) <- names(table(df1$label))[c(5,6,1,2,3,4)]
versuche, dann gibt es ein Wirrwarr in dem Fallzahl und label nicht mehr zueinander stimmen.
2) möchte ich eigentlich als Label noch das Größergleich-Zeichen einfügen. Für GGplot ist das wohl das Label "\u2265". Das funktioniert aber auch nicht..

Ich wäre über Hilfe sehr sehr dankbar!!!
Dateianhänge
Rplot.png
Rplot.png (3.99 KiB) 776 mal betrachtet

bigben
Beiträge: 594
Registriert: Mi Okt 12, 2016 9:09 am

Re: Box Plots mit Fallzahl in der x-Achse

Beitrag von bigben » Mi Okt 12, 2016 10:21 pm

Ich glaube, Du willst einen geordneten Faktor anstelle eines einfachen Faktors und musst dann die Ordnung/Reihenfolge der Level des Faktors anpassen. Zum Einlesen: http://www.cookbook-r.com/Manipulating_ ... _a_factor/

Alternativ kannst Du auch die x-Achse beeinflussen via scale_x_discrete(limits=...). Siehe dazu http://www.cookbook-r.com/Graphs/Axes_(ggplot2)/ die Überschrift Discrete axis und die Unterüberschrift "Changing theorder of items".

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast