Seite 1 von 1

Neue Variable aus mehreren vorhandenen erstellen

BeitragVerfasst: Mo 5. Aug 2024, 18:03
von kathi05
Hallo Zusammen,

ich schreibe momentan meine Bachelorarbeit und komme bei dem Erstellen einer neuen Variable aus 7 bereits vorhandenen Variablen nicht weiter. Die Variablen mi05 bis mi11 beinhalten Einstellungen von Menschen über den Zuzug verschiedener Personengruppen. Aus diesen Variablen möchte ich eine übergeordnete Variable erstellen (influx) , die die Einstellungen der Menschen insgesamt zeigt. Alle 7 Variablen haben die gleichen 3 Ausprägungen in der gleichen Reihenfolge, die ich gerne in der neuen Variable übernehmen möchte.

Im folgenden ist das aus meinem Do-File, was ich selbst versucht habe. Ich habe aber eher das Gefühl, dass es nicht richtig ist. Deswegen wär es super wenn mir da jemand weiterhelfen könnte. Ist das was ich gemacht habe richtig? Und woher weiß ich ob das richtige Ergebnis habe? Gibt es einen einfacheren Weg?

generate influx = .
replace influx = 1 if mi05 ==1
replace influx = 1 if mi06 ==1
replace influx = 1 if mi07 ==1
replace influx = 1 if mi08 ==1
replace influx = 1 if mi09 ==1
replace influx = 1 if mi10 ==1
replace influx = 1 if mi11 ==1

replace influx = 2 if mi05 ==2
replace influx = 2 if mi06 ==2
replace influx = 2 if mi07 ==2
replace influx = 2 if mi08 ==2
replace influx = 2 if mi09 ==2
replace influx = 2 if mi10 ==2
replace influx = 2 if mi11 ==2

replace influx = 3 if mi05 ==3
replace influx = 3 if mi06 ==3
replace influx = 3 if mi07 ==3
replace influx = 3 if mi08 ==3
replace influx = 3 if mi09 ==3
replace influx = 3 if mi10 ==3
replace influx = 3 if mi11 ==3

tab influx, m



Danke und liebe Grüße
Kathi

Re: Neue Variable aus mehreren vorhandenen erstellen

BeitragVerfasst: Mo 5. Aug 2024, 21:03
von Staxa
Dein Code läuft, ist aber wenig vielführend. Was ist, wenn jemand auf mi05 eine 1 hat, auf mi07 eine 3? Hier sticht die Reihenfolge der Ausführung dann, das ist selten sinnvoll. Ich würde die Daten reduzieren. Hier kannst du eine PCA durchführen und Dimensionen extrahieren, etwa:


Code: Alles auswählen
pca mi05 mi06 mi07 mi08 mi09 mi10 mi11, mineigen(1)
rotate promax, blanks(0.3)

Dann schaust du, wie viele Komponten mit einem Eigenwert über 1 du hast. Ideal wäre nur eine Komponente, dann machst du etwa:

Code: Alles auswählen
predict einstellung, score


Für mehr Infos: https://www.stata.com/features/overview ... omponents/