Datenorganisation

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

Antworten
fablink
Beiträge: 4
Registriert: So Aug 12, 2018 9:08 am

Datenorganisation

Beitrag von fablink »

Hallo liebes Forum,

immer wieder fummel ich an Zeitreihen rum: Ich habe eine Datensatz, bestehend aus Zählern mit (viertel-)stündlichen Zählwerten. Zusätzlich zu diesen Zählwerten habe ich einige Charakteristika der Zähler, z.B. privat oder geschäftlich, Personen (Alter, Geschlecht), oder Stadtteil.
Was mich v.a. interessiert sind Auffälligkeiten/Unterschiede, z.B. Fragen wie:
- gibt es einen Unterschied zwischen privat und geschäftlich, zwischen Zählern in Ort A und B, oder auch zwischen Wochentag und Wochenende, zwischen Ferientag und Schultag etc.
- mich interessieren fast ausschließlich Tagesverlaufskurven, also ich benötige z.B. auch fürs plotten immer 24 Stundenwerte. Darüber bin ich immer wieder gestolpert, da es für mich gefühlt immer sehr viel einfacher ist, einen Wert zu berechnen, als diese 24 Werte.

Bislang habe ich die Daten so organisiert, dass ich eine Datentabelle habe, in der zeilenweise dann die Messwerte stehen und "hintendran" die anderen Infos stehen.
Wenn ich nun z.B. Werktag mit Wochenende vergleichen will, dann habe ich mir einen Vektor gebastelt (z.B.:

Code: Alles auswählen

son   <- 24*(rep(c(seq(6,28,by=7)), each=24))+c(1:24)    
und außerdem dann z.B.

Code: Alles auswählen

  jul_werk_1p <- apply(haus[which(haus$V8786==1),werk_jul+1], 1, fmean)  
, d.h. ich habe eine Mittelwertfunktion erstellt (fragt mich bitte nicht, warum, aber die Standardmittelwertfunktion hatte irgendeinen Haken), die ich dann mit apply über die Tabelle rödeln lasse und anschließend konnte ich mir dann z.B. eine Tagesverlaufskurve mit 1-Personen-Haushalten geben lassen. (was in V8786 drin steckt).

Die Frage, die ich mir stelle ist: Wie organisiere ich die Daten denn am geschicktesten, um dann die Auswertungen durchzuführen. Mir ist bei der Arbeit mit excel und Pivottabellen in völlig anderem Kontext gekommen, dass das auch für diesen Datensatz evtl. einfacher ist: Wenn ich jedem Messwert eines Zählers die Eigenschaften, z.B. Standort, Wochentag, Ferientag, etc. zuweise und dann später - typisch pivottabelle - in einer Abfrage reinschreibe: gib mir bitte Mittelwerte über Stunden (1-24) für alle Werte an Werktag, Ort X, Personen Y, dann ist das doch einfacher, als mich wie oben hinzuwursteln, oder? Oder ist das ein Denkfehler? Ich müsste dafür halt wieder den Datensatz völlig umbauen, bevor ich diese Art abfragen machen kann.

Habt Ihr dafür eine Einschätzung?

Vielen Dank schonmal und eine angenehme Woche!
Fabian
bigben
Beiträge: 2780
Registriert: Mi Okt 12, 2016 9:09 am

Re: Datenorganisation

Beitrag von bigben »

Also ich habe die Alternativen "hintendran" versus "typisch pivottabellenmäßig" noch nicht verstanden.
Kann man das beispielhaft vereinfachen und dann Beispieldaten in R Syntax erstellen?
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
fablink
Beiträge: 4
Registriert: So Aug 12, 2018 9:08 am

Re: Datenorganisation

Beitrag von fablink »

Hallo bigben,

jepp, sorry, in meinem Kopf ist das immer superklar... :)
Also sooo habe ich meine Daten organisiert (das ist also eine Zeile, davon habe ich etwas über 1000.

Std1 Std2 Std3 Std4 ....... bis Std. 8784 ZahlPers Geschl Ortsteil

Spalte 2 bis Spalte 8785 sind also meine Messwerte pro Stunde dieses Zählers.

Was ich überlege ist, ob ich stattdessen lieber die Zeitreihe untereinander packe und die Zeiteigenschaften daneben (ebenso wie die Zähler und Geschlecht, Ortsteil, ID, also:

Std1 Zähler_ID Stunde Tag Monat Feiertag ZahlPErs Geschl Ortsteil
Std2 Zähler_ID Stunde Tag Monat Feiertag ZahlPErs Geschl Ortsteil
Std3 Zähler_ID Stunde Tag Monat Feiertag ZahlPErs Geschl Ortsteil


Ich hätte also sehr viel mehr Zeilen und viel mehr Wiederholungen, könnte dann aber recht einfach bei Abfragen sagen: Gib mir die Werte, wenn Feiertag, Ortsteil x, für alle Stunden, oder wenn Monat Oktober und 2 Personen und Wochenende für alle Stunden etc. (was quasi analog wie in den pivotabfragen ginge).
Bislang (also Fall 1 oben) bastel ich mir immer Vektoren und wurstel so durch die Auswahl. Mich stört v.a., dass die Zeitkomponente recht unübersichtlich ist und mir fehlt etwas die Kontrolle. Im Fall 2 unten muss ich einmal jedem Datenpunkt die richtigen Eigenschaften zuweisen, aber danach wäre die Auswahl einfacher.

Ist jetzt klarer, was ich mich frage? :oops: :shock:

Sonst bastel ich morgen mal ein kurzes Beispiel!

Danke und viele Grüße
Fabian
bigben
Beiträge: 2780
Registriert: Mi Okt 12, 2016 9:09 am

Re: Datenorganisation

Beitrag von bigben »

Ein Beispiel wäre bestimmt gut, weil das so ja alles nicht zusammenpasst. Wie soll ZählerID in den zweiten Datensatz rein, wenn sie im ersten nicht vorkommt?

Mach ein Beispiel in R Syntax und belese Dich zur Funktion pivot_longer aus dem Paket tidyr. Alternativ auch zum Package reshape2.


Bis dann,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten