Die nachstehenden Angaben:subsetting Entfernung zu viele Zeilen
# Import mock data
Biomass <- c(20, 10, 5, 4, 5, 7, 8, 22, 13, 13, 15, 18, 2, 5, 7, 10)
Season <- c("Winter", "Spring", "Summer", "Fall")
Year <- c("1", "2", "3", "4")
ReefSpecies <- c("Admiral Ma", "Jaap Mf", "Grecian Ma", "Alligator Mr", "Jaap Mf", "Grecian Ma", "Alligator Mr", "Admiral Ma", "Grecian Ma", "Alligator Mr", "Admiral Ma", "Jaap Mf", "Alligator Mr", "Admiral Ma", "Jaap Mf","Grecian Ma")
Seasonal <- data.frame(Biomass, Season, Year, ReefSpecies)
Seasonal$Times <- paste(Seasonal$Year, Seasonal$Season, sep=" ")
Seasonal$Time <- factor(Seasonal$Times, levels=unique(Seasonal$Times))
# Plot figure
ggplot(data = Seasonal, aes(Time, Biomass, color=ReefSpecies)) +
geom_point() +
geom_smooth(aes(group=ReefSpecies), method="lm") +
theme(axis.text.x = element_text(angle = 270)) +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.background = element_rect(colour="black", size=1, fill=NA), axis.line = element_line(colour = "black")) +
theme(legend.position = "top") +
xlab("Year") +
ylab(bquote("Ash-free Biomass (mg/cm"^"2"*")"))
würde Ich mag ein 3 Figuren machen, die jede Spezies einzeln hinzufügen. Zum Beispiel haben wir drei Arten über vier Riffe (Admiral Ma und Grecian Ma - 1 Spezies und 2 Riffe, Jaap Mf - 1 Spezies und 1 Riff, und Alligator Mr - 1 Spezies und 1 Riff). Was ich möchte, ist die Reef Ma zum ersten Mal hinzufügen - das wäre die erste Zahl.
Als nächstes möchte ich eine andere Art hinzufügen (sagen wir) Reef Mf, die die vorherige Abbildung enthält - das wäre die zweite Handlung.
Da die letzte Handlung alle Daten enthält, weiß ich, wie man das macht - und brauche nur Hilfe mit den ersten beiden Zahlen.
Anbei unten ist ein Bild von dem, was ich erreichen konnte - Sie werden sehen, dass mit dieser Methode nicht alle Datenpunkte enthalten sind (vergleichen Sie mit anderen Bild aller Daten in einer Figur) - Code ist für beide Abbildungen beigefügt auch.
HINWEIS: Die oben genannten Daten ist eine kleine Teilmenge von dem, was unter
#Subsetted dataset with missing points
ggplot(subset(Seasonal, ReefSpecies == c("Grecian O. faveolata", "Jaap O. faveolata", "Alligator O. faveolata", "Admiral O. faveolata")),
aes(Time, Biomass, color = ReefSpecies)) +
geom_point() +
geom_smooth(aes(group=ReefSpecies), method="lm") +
theme(axis.text.x = element_text(angle = 270)) +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.background = element_rect(colour="black", size=1, fill=NA), axis.line = element_line(colour = "black")) +
theme(legend.position = "top") +
xlab("Year") +
ylab(bquote("Ash-free Biomass (mg/cm"^"2"*")"))
Dies ist ein Beispiel dafür, was ich für die erste Figur will - es all das beinhaltet gleiche Spezies, aber auch von allen meinen Studienorten.
Zusätzlich erhalte ich diese Warnmeldung - ich denke es bedeutet, dass es versucht, eine gleiche Anzahl von Punkten für die Teilmenge zu plotten, aber R Warnungen können fast eine Fremdsprache für mich sein.
Warning message:
In ReefSpecies == c("Grecian O. faveolata", "Jaap O. faveolata", :
longer object length is not a multiple of shorter object length
ggplot(subset(Seasonal, ReefSpecies == c("Grecian O. faveolata", "Jaap O. faveolata", "Alligator O. faveolata", "Admiral O. faveolata", "Grecian O. annularis", "Jaap O. annularis", "Alligator O. annularis", "Admiral O. annularis")),
aes(Time, Biomass, color = ReefSpecies)) +
geom_point() +
geom_smooth(aes(group=ReefSpecies), method="lm") +
theme(axis.text.x = element_text(angle = 270)) +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.background = element_rect(colour="black", size=1, fill=NA), axis.line = element_line(colour = "black")) +
theme(legend.position = "top") +
xlab("Year") +
ylab(bquote("Ash-free Biomass (mg/cm"^"2"*")"))
Dies ist ein Beispiel dafür, was ich für die erste Figur will - es ist alles von der gleichen Art enthält aber von allen meiner Studie sowie Standorten.
Die gleiche Warnmeldung kommt mit diesem Plot oben als auch
HINWEIS: Die rote Linie in der Teilmenge Figur entspricht die Goldlinie in der gesamten Daten Figur
Der blaue Linie in der Teilmenge entspricht der blauen Linie in der gesamten Datenfigur
Die grüne Linie in der Teilmenge entspricht der grünen Linie in der gesamten Daten Figur
Die violette Linie in der Teilmenge Figur in der gesamten Daten Figur auf die violette Linie entspricht
# Whole Dataset
ggplot(data = Seasonal, aes(Time, Biomass, color=ReefSpecies)) +
geom_point() +
geom_smooth(aes(group=ReefSpecies), method="lm") +
theme(axis.text.x = element_text(angle = 270)) +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.background = element_rect(colour="black", size=1, fill=NA), axis.line = element_line(colour = "black")) +
theme(legend.position = "top") +
xlab("Year") +
ylab(bquote("Ash-free Biomass (mg/cm"^"2"*")"))
Wie Sie aus diesen beiden Figuren zu sehen - in dem Entfernen mehrere Punkte ggplot scheint die Figur beim Zeichnen der Teilmenge.
Jede Hilfe wäre willkommen, lassen Sie mich wissen, wenn Sie etwas mehr von mir brauchen, und vielen Dank im Voraus!
Verwenden Sie '% in%' anstelle von '==' in Ihrer 'Teilmengen'-Bedingung, um zu überprüfen, ob' ReefSpecies' mit einem der angegebenen Namen übereinstimmt. –
@MikkoMarttila Ich versuchte das, aber es sagt Funktion nicht gefunden und ich bekomme diesen Fehler 'Fehler in eval (Ausdruck, envir, enclos): konnte Funktion nicht finden"% n% "' – Danib90
@MikkoMarttila Ignorieren Sie den letzten Kommentar - das hat funktioniert ! Vielen Dank! Ich musste versuchen,% in% 'nicht'% n% ' – Danib90