Stata

Aus WeissWiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

[Bearbeiten] Statistische Analysen

[Bearbeiten] Interaktionseffekte in Regressionsmodellen

Auf http://www.stata.com/stata11/factorvar.html wird ein neues feature von Stata 11 beschrieben, um Interaktionseffekte/Produktterme 'on-the-fly' in Modelle einzubauen.



[Bearbeiten] Programmieren

[Bearbeiten] Relative Pfadangaben

Analysecode mit häufigen Lese- und Schreibzugriffen sollte ohne absolute Pfadangaben auskommen. Eine (beschränkte) Möglichkeit sind relative Pfadangaben (../mydata/) oder aber die Verwendung von lokalen Makros, die entsprechende Informationen enthalten. Nachfolgend ist ein Beispiel für ein solches Makro aufgeführt:

local mypath "e:/data/"
cd `mypath'
// Oder, mit ergänzenden Pfadangaben
cd `mypath'pairfam // Wechsle nach e:/data/pairfam
macro list // Inhalt aller Makros auflisten

Ein Hinweis: Unter Stata 11 läuft die oben gezeigte Makro nur nach einem Update (-update all-)!


[Bearbeiten] Zugriff (und Weiterverarbeitung) von Stata-Ergebnissen (r(...) und e(...))

Eine gute Übersicht liefert (wie so oft): http://www.ats.ucla.edu/stat/stata/faq/returned_results.htm

  • Skalare werden mit disp r(...) dargestellt.
  • Matrixen werden mit matrix list r(...) dargestellt.


Nachfolgend ein kleines Beispiel, um eine beliebige Matrix (die aus einzelnen Spalten zusammengestellt wurde), mit Hilfe von esttab zu exportieren:

// Datensatz laden
webuse automiss
// Cronbachs alpha berechnen, alpha-if-item-deleted etc. pp. 
alpha price headroom rep78 trunk weight length turn displ, std item
// Welche Ergebnisse wurden wie abgespeichert
return list
// if item deleted; (Zeilen-)Vektoren abspeichern (1 x 8)
matrix a =  r(Alpha)
matrix b =  r(MeanInterItemCorr)
// beide Vektoren zu Matrix zusammenfassen (2 x 8)
matrix c = a\b
matrix list c
// Matrix transponieren (8 x 2)
matrix c = c'
matrix list c

// abspeichern
esttab matrix(c) using d:/tmp/example.csv, scsv replace

Die csv-Datei sieht wie folgt aus:

="";="c";=""
="";="r1";="r1"
="price";=".9128249";=".5993398"
="headroom";=".8969323";=".5542071"
="rep78";=".9143488";=".6039662"
="trunk";=".8818054";=".5159268"
="weight";=".8634851";=".4746798"
="length";=".8624537";=".4725055"
="turn";=".8726937";=".4947697"
="displacement";=".8683838";=".4852127"

Eine Erweiterung könnte darin bestehen, einzelne Skalare noch einzubauen (wie Cronbachs Alpha gesamt etc.)

// Cronbachs Alpha abspeichern
matrix d = r(alpha)
// Neuer Dummy-Zeilenvektor (r-1)
matrix input f = (0)
// Dummy-Zeilenvektor und Alpha zusammenfassen (1 x 2)
matrix f = f,d

Anschließend Matrix f wieder mit esttab abspeichern und die "0" in der letzten Zeile löschen

Persönliche Werkzeuge