datenaufbereitung

Ein Statistiker kann seinen Kopf in den Backofen und seine Füße in Eiswasser stecken und er wird sagen: "Im Durchschnitt geht es mir gut."

Variablen- bzw. Datenaufbereitung

 

Import von Textfiles an einem Mini-Beispiel zu Körperfülle und Wohlbefinden.

Codierungsproblem am Beispiel einer fehlerbehafteten Datei

  • die Crux mit den Windows-Extensions (hier *.txt)
  • die Crux mit der Codierung: seltsame Zeichen (Umlaute o. ä.)
    Kodierung: Konvertieren zu ANSI (Statistica kann hier kein UTF-8)
  • Datentyp überprüfen: String ist verdächtig, unklare Erkennung
  • missing Data (Konzept des missing-value-code)
    ev. lösbar über missing-Data Zeichen im Importdialog
  • was man nicht sieht und was trotzdem da ist
    Leerzeichen (Blanks), Tabulatoren, Sonderzeichen
    leere Zeilen (am Dateiende) werden Vpn
    Notepad++: Ansicht, nicht druckbare Zeichen
  • Verschiebungen (im Editor unübersichlich)
    Notepad++ | Einstellungen | Sprachmenu/Tabs | Tab Size
  • die Crux mit Textvariablen, Groß- und Kleinschreibung etc.

Erster Check der Daten

  • Verschiebungen? (Datentyp, Zahlensprünge, ...)
  • Ranges eingehalten?
    deskriptive Daten
    markieren im Variablen-Header | Kontextmenu | Statistiken für Blockdaten | Block/Spalten | alle
  • sortieren als Fehlersuche
    VP-Konsistenz bleibt erhalten im Gegensatz zu Spreadsheets
  • einfache Grafiken und Visualisierungen
    markieren im Variablen-Header | Kontextmenu |

Datenaufbereitung

  • shift- und control-Taste für Auswahl
  • Variablenangaben - die verschiedenen Methoden (Nr. Name etc)
  • Neue Variable generieren und in Definition Funktion generieren
    Doppelklick in Variablenkopf führt zu Variablendefinition
    Kasten unten bietet Möglichkeit für Funktionsdefinition
    bei '=' Zeichen am Beginn wird es zu Funktion
    Achtung - die Hilfe zur Funktionssyntax zeigt Kommata zur Trennung von Komponenten, es müssen aber Semikolons sein
    case insensitive
  • Beispiel Textvariable Geschlecht
    = Mid(LCase(Geschlecht); 1; 1))
  • Beispiel BMI
    = gewicht / (groesse / 100) ^ 2
    = gewicht / (groesse / 100) ** 2
  • Beispiel umkodieren
    nicht_schlecht
  • Beispiel Statistikfunktion
    Mittelwert aus den Befindlichkeitsvariablen
  • Beispiel missing Data
    isMD(
    sum(isMD(...); isMD(...))
  • Beispiel Bedingung
    iif(v11 = 0; sum(...); "")

Einige Basics

  • Descriptive Statistik etc
    Dialogsystem (Auswertungsdialog im Tray)
    Variablenmenu ist immer Basis
  • Umgehen am Beispiel T-Test Geschlechtsunterschied
    p-Werte Statistik
  • Korrelationen
  • Korrelationsvergleich
  • Statistica als Tabellenwerk

Grafiken

  • Auswertungsabhängig oder über Grafikmenu

Automatisierung

  • Macrorekorder
  • Teile werden aufgezeichnet, andere nicht (automatische Ausgabe)
  • Namenskonflikte
  • Error etc in Programmierumgebung

Hilfe

Aufgabe: Variablenaufbereitung (Umkodierungen) Skalenbildung, Berechnungen.

 

Die Datei http://kiwi.uni-psych.gwdg.de/mat/stud-dat-clean-ansi.txt enthält Daten von Personen, von denen sowohl soziodemographische Daten als auch Angstwerte gemessen wurden. Beides wurde zu zwei Messzeitpunkten erhoben.

Alle Aufgaben hier mit den gesamten Daten des Kurses bis heute
  • Lesen Sie die Daten ein und führen Sie ggf. geeignete Vorbereitungen durch
  • Überprüfen Sie die Daten auf Plausibilität.
  • Fügen Sie eine 'vergessene Versuchsperson' in die Daten ein. Die Daten können Sie erfinden.
  • vor/nach Selektion
  • Führen Sie die Umcodierungen durch, die das Manual für die beiden STAI-Fragebogen vorschreibt (Beschreibung).
    Lösung am besten über Batch-Transformation und externes Transformationsfile. Hier können alle Datentransformationen auf einen Schlag erfolgen.
  • Tun Sie dasselbe für den Messzeitpunkt 2.
  • Fügen Sie nach den STAI-Skalen eine neue Variable ein, die die zu ermittelnden Skalenwerte aufnehmen kann.Generieren Sie die Namen nach dem folgenden Muster: state1_s für den State-Angst-Summenwert zum ersten Messzeitpunktes, trait2_s für den Trait-Angst-Summenwert zum zweiten Messzeitpunkt.
    Die neuen Variablen müssen über das Kontextmenu eingefügt werden: Doppelklick in den Variablenheader der nachfolgenden Variable | Variable einfügen
    Namen vergeben
    Definition eintragen:
    state1_s = sum(u_stai_101:u_stai_120)
  • Wandeln Sie die Buchstaben bzw. Kürzel für das Geschlecht in Zahlenwerte um (Zuordnung beliebig). Achtung: Groß- und Kleinschreibung.
    = iif(geschl_lo = "w" or geschl_lo = "f";1; iif(geschl_lo = "m";2;""))
  • Bei den Körpergrößen sind Meter und cm 'durcheinandergekommen'. Lösen Sie dieses Problem. Ziel sind Meter als Einheit für die Körpergröße.
  • = iif(groesse > 100; groesse / 100; groesse)
  • Die Augenfarbe wurde im Klartext eingegeben. Sie sind sich nicht sicher, ob die 'Eingeber' immer in Kleinbuchstaben eingegeben haben. Zudem arbeiten die Eingeber auf verschiedenen Systemen und dabei gibt es erfahrungsgemäß immer Schwierigkeiten mit Umlauten. Sie haben sich also entschlossen, die folgende Kodierung für Augenfarbe einzuführen:
    braun = 1
    blau = 2
    grün = 3
    grau = 4
    schwarz = 5
    sonstige Angabe = 6
    = Match(auge; "braun";1; "blau";2;"grün";3;"grau";4;"schwarz";5;6)
  • Kontrollieren Sie, ob sich die Antworten der Vpn im zulässigen Spielraum bewegen (min. 1, max. 4).
  • Sie haben sich überlegt, bei mehr als 3 Falscheingaben (Eingaben außerhalb des zulässigen Bereiches) über die insgesamt 4 Fragebogen (zu den zwei Messzeitpunkten) noch einmal näher nachzuforschen was passiert ist. Z. B. Abgleich mit dem Originalfragebogen, eingebende Person kontaktieren o. ä.
    Variablen ausserhalb des Ranges auf missing setzen
    Anzahl der Vars müsste 80 sein
    neue Variable generieren mit 80 - Anzahl der missings
  • Sie haben sich entschlossen, dass Sie keinen der vier Skalenwerte der Vpn verwenden wollen, die mehr als die oben genannten maximalen Falscheingaben haben. Sorgen Sie daür, dass dies geschieht.
  • Bilden Sie die Skalenwert (Summenwert über die Items) nach den Angaben des Handbuches.
  • Setzen Sie die die Vorschrift für das Umgehen mit fehlenden Werten (missing Values) um.
    in Block-Transform am Ende

Ein paar Tipps und Lösungsansätze:

  • Es gibt eine "Variablenansicht" (sensu SPSS) im Variablen-Editierfenster unter Button "alle Spez"
    bzw. unter Datei - alle Variablen
  • Textwerte: Wenn eine Variable als Integer (double) definiert wird, aber Text enthält wird über den Button "Textwerte" ein numerischer Wert zugeordnet. Der kann auch verändert werden, muss aber unique sein.
  • Beim Einfügen von neuen Variablen in die Datenmatrix wird die Nummerierung der folgenden Variablen korrigiert. Alle Transformationen, die auf Variablennummern basieren, sind damit nicht mehr gültig. Lösungsansatz: Formeln auf Variablennamen aufbauen
  • Batch Datentransformen aus Daten-Menu Es handelt sich um ein Textfile (Notepad++), das man speichern und laden kann.
    Leider fügt Statistica da aber noch Meta-Informationen ein, so dass man ggf. mit copy-paste weiter kommt.
    Außer über die Reihenfolge der Befehle und ggf. Löschen der Variablen hat man leider keinen Einfluss auf die Stelle, an der die neu generierten Variablen eingesetzt werden.