Ich experimentiere mit Data Mining mit dem rOpenSci-Netzwerk. Ich verwende das Paket rFisheries
, um Landungsdaten zwischen zwei Fischarten zu vergleichen.Plotting zwei Reihen Liniendiagramm R
Ich habe die Arten von Daten in zwei Datenrahmen:
mako.landings <- structure(list(year = 1950:1959, mako_catch = c(187255L, 220140L,
232274L, 229993L, 194596L, 222927L, 303772L, 654384L, 1110352L,
2213202L)), .Names = c("year", "mako_catch"), row.names = c(NA,
-10L), class = c("tbl_df", "tbl", "data.frame"))
und
cod.landings <- structure(list(year = 1950:1959, cod_catch = c(77878, 96995,
198061, 225742, 237730, 230289, 245971, 300765, 311501, 409395
)), .Names = c("year", "cod_catch"), row.names = c(NA, -10L), class = c("tbl_df",
"tbl", "data.frame"))
Diese Datenrahmen haben beide 65 Zeilen mit dem Jahr 2014 endet Ich versuche, ein zu produzieren Liniendiagramm mit dem Jahr auf der x-Achse, der Fang auf der y-Achse, und zwei Reihen, eine für jede Art.
Ich hatte mehrere Versuche mit ggplot, einschließlich der Beitritt zu den Datenrahmen, aber sie alle Zahlen produzieren, wo die Kabeljau Daten sehr gedrückt wird, sieht fast wie eine Flatline im Vergleich zu den Mako-Daten. Etwas stimmt nicht, denn wenn ich die Daten von cod.landings
für sich selbst zeichne, sieht das ganz anders aus.
library(dplyr)
library(ggplot2)
combined.landings <- inner_join(mako.landings, cod.landings, by = "year")
#plotting data from joined tables
ggplot() +
geom_line(data = combined.landings, aes(x = year, y = mako_catch), colour = "dodgerblue") +
geom_line(data = combined.landings, aes(x = year, y = cod_catch), colour = "red")
#plotting the cod and mako data separately
p <- ggplot(mako.landings, aes(year, mako_catch)) +
geom_line(colour = "dodgerblue") + labs(y = "Catch (tonnes)") + labs(x = "Year")
p
p <- p + geom_line(data = cod.landings, aes(year, cod_catch), colour =
"red")
p
#a different attempt at plotting cod and mako data separately
ggplot() +
geom_line(data = mako.landings, aes(year, mako_catch, color = mako_catch)) +
geom_line(data = cod.landings, aes(year, cod_catch, color = cod_catch))
Gibt es etwas, was ich falsch im obigen Code getan habe? Oder eine andere Methode, um den gewünschten Graphen zu erzeugen? Ich fand eine ähnliche Frage an anderer Stelle, aber die Lösung bestand darin, die Daten in einen neuen Datenrahmen zu schreiben, was ich lieber vermeiden würde, da es 65 Beobachtungen jeder Spezies gibt, die neu geschrieben werden müssten.
Danke
ich Sie durch die Aktualisierung der Code dazu beigetragen haben, Ihrem Beispiel Datenrahmen zu erzeugen, zu laden, die Code-Pakete, und die daraus resultierenden Plots. Grundsätzlich denke ich, dass dein Code wie erwartet funktioniert. Es ist mir ein wenig unklar, wonach Sie suchen. Ist Ihnen aufgefallen, dass die Zahlen in den beiden Datenrahmen nicht in der gleichen Größenordnung liegen? – www