Probleme mit Grafik in Zeitreihe
Verfasst: Sa Sep 08, 2018 1:55 am
Hallo alle miteinander,
da ich komplett neu hier bin, bitte ich zu entschuldigen wenn ich etwas mit "der Tür ins Haus falle" um um Hilfe zu bitten. Zumindest konnte ich lesen, dass ich noch keine private Nachrichten verschicken darf. Aber darum geht es mir nicht. Als Newcomer in R als Programmiersprache erhoffe ich mir Hilfe und Unterstützung zum Thema "Zeitreihenanalyse".
Mir geht es im Rahmen eines größeren Projektes darum zunächst an Zufallsvariablen eine automatische Messtation für Grundwasser zu
simulieren. Diese fiktive Messstation soll zunächst für den Zeitraum von 12 Monaten kontinuierlich im 60-minütigen Rhythmus Daten sammeln. Später
sollen diese Daten per Zeitreihenanalyse untersucht werden inwieweit saisonale Schwankungen die Grundwasserchemie im Untersuchungsgebiet
beeinflussen.
Zum Anfang wollte ich nur eine einfache Zeitreihe erstellen wie sie als Vorlage unter dieser Webseite: http://www.faes.de/Basis/Basis-Statisti ... yse_r.html erstellt worden ist.
Hier ist der zugehörige Code, welchen ich zu diesem Zweck erstellt habe:
#Erzeugung normalverteilter Variablen
ph <- round(rnorm(8760,6, sd = 1), 2)
# Erzeugung des Zeitrahmens
zeitpunkte_year<- seq(from = as.POSIXct("2018-01-01 00:00"),
to = as.POSIXct("2018-12-31 23:00"), by = "hour")
# Trennung von Date and Time
zeitpunkte_year_sep <- data.frame(Date = as.Date(zeitpunkte_year, format =
"%B/%d/%Y"),
Time = format( as.POSIXct( zeitpunkte_year, format =
"%m/%d/%Y %H:%M"),
format = "%H:%M %p") )
# Separieren des Datums mit anschließender Umformatierung
library(stringi)
library(tidyr)
library(tidyselect)
d <- data.frame(date = zeitpunkte_year_sep$Date)
d <- separate (d, "date", c("Year", "Month", "Day"), sep = "-")
d
e <- revalue(d$Month, c("01"="Januar", "02"="Februar", "03"="März", "04" =
"April", "05" = "Mai", "06" = "Juni", "07"="Juli", "08" = "August", "09" =
"Septmember",
"10" = "Oktober", "11" = "November", "12" =
"Dezember"))
# Erzeugung Data frame
year_ph_t <- data.frame(f, ph)
#Zeitreihe
yearindex <- ts(year_ph_t$ph, freq = 356, start = c(2018,1) , end =
c(2018,12))
yearindex
Time Series:
Start = c(2018, 1)
End = c(2018, 12)
Frequency = 356
[1] 5.02 6.75 5.64 5.62 6.33 6.20 6.10 5.06 6.76 7.22 3.91 5.53
View(year_ph_t)
# A tibble: 8,760 x 3
Year Month ph
<chr> <chr> <dbl>
1 2017 12 5.02
2 2018 01 6.75
3 2018 01 5.64
4 2018 01 5.62
5 2018 01 6.33
6 2018 01 6.2
7 2018 01 6.1
8 2018 01 5.06
9 2018 01 6.76
10 2018 01 7.22
yearindex
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2018 5.02 6.75 5.64 5.62 6.33 6.20 6.10 5.06 6.76 7.22 3.91 5.53
Die Grafik die ich als Resultat bekomme, entspricht leider in keinster Weise den Erwartungen. Vielleicht kann mir jemand von Euch sagen, was ich falsch gemacht habe? Denn angehängte die Graphik entspricht leider nicht dem gewünschten Ergebnis. Ich hoffe sehr das der mitgelieferte Code nicht noch mehr Verwirrung stiftet? Ich freue mich sehr auf eine Rückmeldung und bedanke mich sehr im Voraus bei Euch allen.
Retep
da ich komplett neu hier bin, bitte ich zu entschuldigen wenn ich etwas mit "der Tür ins Haus falle" um um Hilfe zu bitten. Zumindest konnte ich lesen, dass ich noch keine private Nachrichten verschicken darf. Aber darum geht es mir nicht. Als Newcomer in R als Programmiersprache erhoffe ich mir Hilfe und Unterstützung zum Thema "Zeitreihenanalyse".
Mir geht es im Rahmen eines größeren Projektes darum zunächst an Zufallsvariablen eine automatische Messtation für Grundwasser zu
simulieren. Diese fiktive Messstation soll zunächst für den Zeitraum von 12 Monaten kontinuierlich im 60-minütigen Rhythmus Daten sammeln. Später
sollen diese Daten per Zeitreihenanalyse untersucht werden inwieweit saisonale Schwankungen die Grundwasserchemie im Untersuchungsgebiet
beeinflussen.
Zum Anfang wollte ich nur eine einfache Zeitreihe erstellen wie sie als Vorlage unter dieser Webseite: http://www.faes.de/Basis/Basis-Statisti ... yse_r.html erstellt worden ist.
Hier ist der zugehörige Code, welchen ich zu diesem Zweck erstellt habe:
#Erzeugung normalverteilter Variablen
ph <- round(rnorm(8760,6, sd = 1), 2)
# Erzeugung des Zeitrahmens
zeitpunkte_year<- seq(from = as.POSIXct("2018-01-01 00:00"),
to = as.POSIXct("2018-12-31 23:00"), by = "hour")
# Trennung von Date and Time
zeitpunkte_year_sep <- data.frame(Date = as.Date(zeitpunkte_year, format =
"%B/%d/%Y"),
Time = format( as.POSIXct( zeitpunkte_year, format =
"%m/%d/%Y %H:%M"),
format = "%H:%M %p") )
# Separieren des Datums mit anschließender Umformatierung
library(stringi)
library(tidyr)
library(tidyselect)
d <- data.frame(date = zeitpunkte_year_sep$Date)
d <- separate (d, "date", c("Year", "Month", "Day"), sep = "-")
d
e <- revalue(d$Month, c("01"="Januar", "02"="Februar", "03"="März", "04" =
"April", "05" = "Mai", "06" = "Juni", "07"="Juli", "08" = "August", "09" =
"Septmember",
"10" = "Oktober", "11" = "November", "12" =
"Dezember"))
# Erzeugung Data frame
year_ph_t <- data.frame(f, ph)
#Zeitreihe
yearindex <- ts(year_ph_t$ph, freq = 356, start = c(2018,1) , end =
c(2018,12))
yearindex
Time Series:
Start = c(2018, 1)
End = c(2018, 12)
Frequency = 356
[1] 5.02 6.75 5.64 5.62 6.33 6.20 6.10 5.06 6.76 7.22 3.91 5.53
View(year_ph_t)
# A tibble: 8,760 x 3
Year Month ph
<chr> <chr> <dbl>
1 2017 12 5.02
2 2018 01 6.75
3 2018 01 5.64
4 2018 01 5.62
5 2018 01 6.33
6 2018 01 6.2
7 2018 01 6.1
8 2018 01 5.06
9 2018 01 6.76
10 2018 01 7.22
yearindex
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2018 5.02 6.75 5.64 5.62 6.33 6.20 6.10 5.06 6.76 7.22 3.91 5.53
Die Grafik die ich als Resultat bekomme, entspricht leider in keinster Weise den Erwartungen. Vielleicht kann mir jemand von Euch sagen, was ich falsch gemacht habe? Denn angehängte die Graphik entspricht leider nicht dem gewünschten Ergebnis. Ich hoffe sehr das der mitgelieferte Code nicht noch mehr Verwirrung stiftet? Ich freue mich sehr auf eine Rückmeldung und bedanke mich sehr im Voraus bei Euch allen.
Retep