Dataframe in Vektoren splitten für Zeitreihenanalyse
Verfasst: Mo Nov 04, 2019 10:45 pm
Hallo zusammen,
nach einiger Zeit des stillen Mitlesens habe ich mich dazu entschieden mich hier mal anzumelden. Beschäftige mich im Studium und im Nebenjob mit R (Anfänger) und denke hier noch einiges Lernen zu können
Zu meiner eigentlichen Frage:
Ich möchte für die Absatzmengen versch. Produkte Zeitreihenanalysen durchführen, d.h. je Produkt eine Zeitreihe. Nach Import der Daten in RStudio sind die Daten im Wide-Format (kommen so aus Vorsystem), d.h. wenn ich die Datumspalte ausschließe verbleiben noch X Spalten für X Zeitreihen. Ich möchte nun erreichen, dass aus jeder Spalte X eine Zeitreihe erzeugt wird. Der Name der jeweiligen Zeitreihe besteht bestenfalls aus dem Präfix "ts" und dem ursprünglichen colname, wobei der colname an sich auch genügen würden (wenn auch nicht ganz optimal).
Nach diesen Ausschweifungen hier ein simples Beispiel:
Natürlich könnte man jede einzelne Zeitreihe so manuell erzeugen, aber das geht ja definitv effizienter und weniger fehleranfällig.
Freue mich auf eure Antworten und bedanke mich schon einmal
PS: Hoffe der Code ist korrekt formatiert.
BG ruppy
nach einiger Zeit des stillen Mitlesens habe ich mich dazu entschieden mich hier mal anzumelden. Beschäftige mich im Studium und im Nebenjob mit R (Anfänger) und denke hier noch einiges Lernen zu können
Zu meiner eigentlichen Frage:
Ich möchte für die Absatzmengen versch. Produkte Zeitreihenanalysen durchführen, d.h. je Produkt eine Zeitreihe. Nach Import der Daten in RStudio sind die Daten im Wide-Format (kommen so aus Vorsystem), d.h. wenn ich die Datumspalte ausschließe verbleiben noch X Spalten für X Zeitreihen. Ich möchte nun erreichen, dass aus jeder Spalte X eine Zeitreihe erzeugt wird. Der Name der jeweiligen Zeitreihe besteht bestenfalls aus dem Präfix "ts" und dem ursprünglichen colname, wobei der colname an sich auch genügen würden (wenn auch nicht ganz optimal).
Nach diesen Ausschweifungen hier ein simples Beispiel:
Code: Alles auswählen
library(tidyverse)
### So ist mein Dataframe aufgebaut
set.seed(12345)
rawdata <- as_data_frame(
list(
year = 2001:2010,
Produkt1 = rnorm(10,0,1),
Produkt2 = rnorm(10,0,1),
Produkt3 = rnorm(10,0,1)))
### So generiere ich Start und Endzeitpunkt der Zeitreihen
start_ts <- min(rawdata$year)
end_ts <- max(rawdata$year)
### So generiere ich eine der Zeitreihen
ts_Produkt1 <- ts(rawdata$Produkt1,start = start_ts,end = end_ts,frequency = 1)
Freue mich auf eure Antworten und bedanke mich schon einmal
PS: Hoffe der Code ist korrekt formatiert.
BG ruppy