ggplot - Boxplots nebeneinander

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

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

Re: ggplot - Boxplots nebeneinander

Beitrag von EDi »

Warum kann ich nicht Zeilen als Faktoren nutzen?
R ist nunmal Vektor orientiert und eine Spalte ist ein Vektor. Im langen Format kann man vieles einfacher machen(subset, Gruppierung...) , eine umformattierung zwischen beiden aber auch nicht schwer.
Ggplot ist recht strickt (zurecht) was saubere / tidy Daten anbelangt.
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.
Maxx_BMT

Re: ggplot - Boxplots nebeneinander

Beitrag von Maxx_BMT »

Hallo,

Ja das hab ich wohl jetzt auch einsehen müssen und habe meine Daten entsprechend umgebaut :)

Code: Alles auswählen

  
  species   	region 		measurement
1   223GB 		Region_1     	3.6475
2   223GB 		Region_1      	3.6475
3   223GB 		Region_1      	3.6475
4   223GB 		Region_1      	3.6475
5   223GB 		Region_1      	3.6475
6   223GB 		Region_1      	3.6475
Habe jetzt jeweils eine Spalte für die Spezies (bzw. die Probe), eine für die Region und dann eine für den Messwert. Leider spuckt mir ggplot() immernoch nicht das richtige aus.
Ich würde nun gerne, das ganze wie folgt plotten:
In Matlab erstellt.
In Matlab erstellt.
Ich möchte die jeweiligen Regionen abbilden und als farbliche Kodierung entsprechend die Individuen haben. Wie oben im Plot gezeigt wurde. Warum mache ich das nicht mit Matlab für meine Diss würde ich gerne konsistent bleiben und nur R-Plots verwenden :)
Vielleicht kann mir hier nochmal jemand sagen wie ich das machen könnte.

Ich hab folgenden Ansatz gewählt und wollte für die anderen Plots entsprechdn die anderen Spezies als Subset wählen? Ist das der richtige Weg?

Code: Alles auswählen

plot <- (ggplot(test, aes(x=region, y=measurement)) 
		+ geom_boxplot(coef = 6, data = subset(complete,species %in% c("223GB")))) 
Beste Grüße :)

Nachtrag:

Ich habe es herausgefunden, es klappt sehr gut mit dem Subsetverfahren, mein Code sieht wie folgt aus:

Code: Alles auswählen

plot <- (ggplot(complete, aes(x=region, y=measurement, color=species)) 
		+ geom_boxplot(coef = 6, data = subset(complete,species %in% c("223GB","252AB","263BCC")))) 
Ein Problem dabei war, dass in irgendeinem Schritt bei der Erstellung der Matrix die Messdaten nicht mehr als numerische Daten angesehen wurden und daher bekam ich immer leicht seltsame Ergebnisse.

Code Umwandlung:

Code: Alles auswählen

 complete$measurement <- as.numeric(as.character(complete$measurement)) 
Mit den umgewandelten Daten erhalte ich dann folgendes Ergebnis (hab es jetzt nur mal für drei Spezies geplottet):
in R erstellt.
in R erstellt.

Jeder darf nun entscheiden, was er schöner findet ;) Jetzt kann ich alles fein in Latex einbinden :) Danke für eure Hilfe, euer Engagement und eure Geduld.
Antworten