Seite 2 von 2

Re: ggplot - Boxplots nebeneinander

Verfasst: Mo Apr 23, 2018 7:03 pm
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.

Re: ggplot - Boxplots nebeneinander

Verfasst: Di Apr 24, 2018 10:32 am
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.