Seite 1 von 1

Mehrebenenanalyse Kontextvariablen

BeitragVerfasst: Fr 11. Apr 2014, 15:17
von KingKong
Hallo,
ich rechne eine Mehrebenenanalyse mit einer dichotomen AV. Daher bin ich vor kurzem auf Stata umgestiegen. Nun habe ich meine AV und UV auf Level 1 rekodiert und möchte die Level 2 Variablen (Kontextvariablen) programmieren. Ich habe versucht das mit dem Befehl "generate" zu realisieren. Dies funktioniert leider nicht, da die neue Variable direkt mit dem Datensatz verknüpft wird. Ich möchte jedoch Kontextvariablen programmieren, die aus externen Daten zusammengesetzt sind (zb: BIP, Korruptionindex von Transperency International, eigene dichotome Variablen). Geht das mit dem Befehl "egen"? Wenn ja, wie? Oder gibt es einen anderen Befel, um mein Vorhaben umzusetzen? Oder muss ich das doch mit SPSS machen?
Vielen Dank für die Hilfe!

Re: Mehrebenenanalyse Kontextvariablen

BeitragVerfasst: Fr 11. Apr 2014, 15:30
von daniel
Oder muss ich das doch mit SPSS machen?


Mit größter Wahrscheinlichkeit nein. Ich habe bisher nichts gesehen, das SPSS kann und Stata nicht.

Leider ist mir völlig schleierhaft, was genau Du vorhast. ich weiß nicht mal recht, wie nach was ich frage soll, damit mir das klar wird.

Ich möchte jedoch Kontextvariablen programmieren, die aus externen Daten zusammengesetzt sind


Was heißt "extern"? sind die variablen nicht in Deinem Datensatz? In diesem Fall musst Du diese Variablen irgendwie anfügen -- das gilt aber wohl auch für SPSS oder jegliche Software, denn ich kenne keine Software, die mit Daten arbeiten kann, die sie nicht "sieht".

Vielleicht skizzierst Du mal Deine Datenstruktur, (i) wie sie jetzt vorliegt und (ii) wie Du sie möchtest.

Re: Mehrebenenanalyse Kontextvariablen

BeitragVerfasst: Mo 14. Apr 2014, 12:17
von KingKong
Vielen Dank für Deine Antwort. Ich versuche meine Frage zu präzisieren und auf Deine Fragen zu antworten.
[/quote]
"Was heißt "extern"? sind die variablen nicht in Deinem Datensatz? In diesem Fall musst Du diese Variablen irgendwie anfügen -- das gilt aber wohl auch für SPSS oder jegliche Software, denn ich kenne keine Software, die mit Daten arbeiten kann, die sie nicht "sieht"."

Die Variablen sind nicht im Datensatz enthalten, sie sollen dem Datensatz angefügt werden und sichtbar sein wie alle anderen Variablen im Datensatz.

"Vielleicht skizzierst Du mal Deine Datenstruktur, (i) wie sie jetzt vorliegt und (ii) wie Du sie möchtest.[/quote]"

Meine Daten haben eine hierarchische Struktur. Basis ist der European Social Survey. Ich habe die ersten fünf Wellen kumuliert. Der Datensatz beinhaltet alle Variablen, die für meine Fragestellung auf der Individualebene (Level 1) notwendig sind. Nun möchte ich die Kontextvariablen (Level 2) hinzufügen. Das meine ich mit extern. Diese Variablen sind also nicht im Datensatz enthalten und basieren auch nicht auf den erhobenen Daten. Diese Variablen werden zum Teil aus externen Daten gebildet (z.B. aus dem Korruptionsindex von Transperency Internation --> metrische Variable oder aus dem Bruttoinlandsprodukt der zu untersuchenden Staaten --> auch metrisch) und zum Teil aus der Bildung einer eigenen Typologie (zB typologisiere ich 15 europäische Länder auf Basis ihres Staatsbürgerschaftsrechtes -->dichotome Variable). Diese Variablen möchte ich dem Datensatz hinzufügen. Die Variablen sollen ganz normal sichtbar sein, wie alle anderen Variablen des Datensatzes. Sobald ich diese Variablen hinzugefügt habe, habe ich mit Stata die Möglichkeit, eine Mehrebenenanalyse zu rechnen. Meine Frage bezieht sich auf die Umsetzung mit Stata. Also mit welchem Befehl kann ich diese Variablen bilden? Mit "generate" komme ich nicht wirklich weiter.
Ich hoffe, mein Vorhaben ist nun etwas verständlicher!?
Vielen Dank für die Unterstützung!!!

Re: Mehrebenenanalyse Kontextvariablen

BeitragVerfasst: Mo 14. Apr 2014, 14:25
von daniel
Diese Variablen werden zum Teil aus externen Daten gebildet


In diesem Fall müssen die anderen Daten als .dta file vorliegen. Dann kannst Du die gewünschten Variablen mittels -merge- Befehl anspielen.

Also mit welchem Befehl kann ich diese Variablen bilden? Mit "generate" komme ich nicht wirklich weiter.


Was hast Du denn genau eingegeben? Was genau hat Stata gemacht/nicht gemacht? Was genau bedeutet "nicht weiterkommen"?

Re: Mehrebenenanalyse Kontextvariablen

BeitragVerfasst: Di 15. Apr 2014, 11:21
von KingKong
[/quote]

In diesem Fall müssen die anderen Daten als .dta file vorliegen. Dann kannst Du die gewünschten Variablen mittels -merge- Befehl anspielen.

Vielen Dank. Das klingt nach einem guten Tipp! Wenn ich das richtig sehe, benötige ich ein Programm, um .dta Dateien zu erstellen. Mit einem solchen Programm könnte ich dann zB meine zu untersuchenden Länder mit dem dazugehörigen BIP auflisten und diese Datei über den merge Befehl in meinen Datensatz aufnehmen. Ich überlege, ob es nicht einfach wäre,die Daten in einer Excel Tabelle mit zwei Spalten (Länder/dazugehöriger BPI) zu schreiben und diese dann in Stata zu importieren???

[/quote]

Was hast Du denn genau eingegeben? Was genau hat Stata gemacht/nicht gemacht? Was genau bedeutet "nicht weiterkommen"?[/quote]

Wenn ich eine neue Variable mit generate bilde, muss ich ihr einen Zahlenwert zuweisen --> generate bpi=99 Wenn ich das richtig verstehe, ist die neue Variable dann mit den Befragten im Datensatz verbunden (wenn ich danach tab bpi eingeben, erhalte ich das n des Datensatzes als Zahlenwert für die Variable). Und genau das möchte ich, da die neue Variable Werte aus anderen Datenquelle oder von mir gebildete Werte enthalten soll.

Re: Mehrebenenanalyse Kontextvariablen

BeitragVerfasst: Di 15. Apr 2014, 13:25
von daniel
Wenn ich das richtig sehe, benötige ich ein Programm, um .dta Dateien zu erstellen. Mit einem solchen Programm könnte ich dann zB meine zu untersuchenden Länder mit dem dazugehörigen BIP auflisten und diese Datei über den merge Befehl in meinen Datensatz aufnehmen. Ich überlege, ob es nicht einfach wäre,die Daten in einer Excel Tabelle mit zwei Spalten (Länder/dazugehöriger BPI) zu schreiben und diese dann in Stata zu importieren???


Du kannst die Daten auch direkt in das Stata file eingeben (-help edit-). Empfehlenswert ist das allerdings nicht, weil es schwer replizierbar ist. Der Umweg über Excel ist allerdings umständlich. Wenn Du die Daten tatsächlich selbst eintippen musst (kann ich mir kaum vorstellen), dann mach Dir einen leeren Datensatz in Stata auf (-edit-), gib die Daten ein, speichere sie und spiel sie dann direkt an.

Wenn ich eine neue Variable mit generate bilde, muss ich ihr einen Zahlenwert zuweisen --> generate bpi=99


Nein. Dem Gleichheitszeichen folgt ein Ausdruck. Das kann ein scalar (Zahl) sein. Es kann auch ein vector (andere Variable) sein. Schau unter -help exp-.

Das beantwortet nicht so recht die Frage, was genau Du eingegeben hast und was genau Stata getan oder nicht getan hat.

Re: Mehrebenenanalyse Kontextvariablen

BeitragVerfasst: Di 15. Apr 2014, 14:18
von KingKong
[/quote]
"Du kannst die Daten auch direkt in das Stata file eingeben (-help edit-). Empfehlenswert ist das allerdings nicht, weil es schwer replizierbar ist. Der Umweg über Excel ist allerdings umständlich. Wenn Du die Daten tatsächlich selbst eintippen musst (kann ich mir kaum vorstellen), dann mach Dir einen leeren Datensatz in Stata auf (-edit-), gib die Daten ein, speichere sie und spiel sie dann direkt an."

Ersteinmal vielen Dank für die schnelle und gute Antwort. Du hast mir bereits jetzt extrem weitergeholfen! Ich arbeite erst seit kurzem mit Stata und bin grundsätzlich sehr zufrieden. Aber nun beschäftige ich mich seit Tagen mit der geschilderten Fragen.
Das Problem der Replizierbarkeit sehe ich genauso. Der Tipp mit dem leeren Datensatz ist exzellent! Ich denke, das könnte mein Problem lösen. Mir fällt keine Alternative zum selbstständigen Eintippen der Daten ein!? Ich sende Dir mal zwei Links, die Daten enthalten, aus denen ich jeweils eine Variable bilden möchte (Schema: Variable BIP: verschiedene Länder bekommen jeweils den Zahlenwert zugewiesen). Diese und andere Variablen benötige ich als Level 2 (Kontextvariable) für meine Mehrebenenanalyse. Vielleicht wird die ganze Sache dann etwas klarer.
http://www.bpb.de/nachschlagen/zahlen-u ... p-pro-kopf
http://cpi.transparency.org/cpi2013/results/

[/quote]
"Nein. Dem Gleichheitszeichen folgt ein Ausdruck. Das kann ein scalar (Zahl) sein. Es kann auch ein vector (andere Variable) sein. Schau unter -help exp-."

Ok, gut zu wissen. Ich glaube, das hilft mir aber nicht weiter, da die Variablen nicht im Datensatz sind. D.h. ich muss die Variable vorab irgendwie in den Datensatz bekommen.

"Das beantwortet nicht so recht die Frage, was genau Du eingegeben hast und was genau Stata getan oder nicht getan hat.[/quote]"

Ich habe folgende Befehle versucht: generate, egen, input, import. Meiner Ansicht ist mein Vorhaben damit nicht umzusetzen. Aber ich lasse mich gerne vom Gegenteil überzeugen.

Re: Mehrebenenanalyse Kontextvariablen

BeitragVerfasst: Di 15. Apr 2014, 15:26
von daniel
Mir fällt keine Alternative zum selbstständigen Eintippen der Daten ein!?


Sieht tatsächlich so aus, als bieten diese Websites keinen download der Daten an -- schwach, aber wohl nicht zu ändern. Achte darauf, dass die Länder in beiden Datensätzen exakt gleich geschrieben sind bzw. den gleiche nummerischen Code bekommen. Ansonsten bekommst Du mit dem -merge-n Probleme.

Bei Deinen zweiten Problem kommen wir so nicht weiter. Ich verstehe nicht, (i) was Du genau gemacht hast und auch nicht (ii) was genau Du willst. Da Du mit dem Wort "genau" offenbar nichts anfangen kannst, hier ein letzter Erklärungsversuch. Ich will keine Auflistung von Befehlen. Ich will etwas in der Art

Ich habe -generate xyz = foo- getippt und Stata hat die Fehlermeldung -foo not found r(111)- zurückgegeben. Bestenfalls wird eine solche Aussage von einem replizierbarebn Beispiel begleitet. Etwa

Code: Alles auswählen
sysuse auto
g xyz = foo


Was Du willst, könntest Du in dieser Art vermitteln. Meine Daten sehen so aus

Code: Alles auswählen
clear
inp Land Jahr Person Alter
1 2013 1 42
1 2014 2 46
2 2014 1 50
end

l


Ich will eine neue variable, BIP, die das bip pro Land und Jahr angibt, wie un folgendem Beispiel

Code: Alles auswählen
clear
inp Land Jahr Person Alter BIP
1 2013 1 42 272
1 2013 2 46 280
2 2014 1 50 108
end

l