Variablen mit gleichen Ausprägungen zusammenfassen

Fragen zu Stata Syntax und Do-Files.

Variablen mit gleichen Ausprägungen zusammenfassen

Beitragvon Thymos » Do 8. Mär 2012, 11:59

Hallo Leute,

nehmen wir an, dass ich innerhalb eines Datensatzes drei kategoriale Variablen habe, die exakt die gleichen Ausprägungen aber nicht die gleiche Verteilung haben. Also z.B.

v1:
1. gut (5 Fälle)
2. besser (2 Fälle)
3. am besten (3 Fälle)

v2:
1. gut (6 Fälle)
2. besser (2 Fälle)
3. am besten (2 Fälle)

v3:
1. gut (2 Fälle)
2. besser (5 Fälle)
3. am besten (3 Fälle)

Nun würde ich gerne eine neue Variable generieren, welche ein kleines ranking dieser Verteilung beinhaltet. Also die dann theoretisch so aussehen müsste:

v4:
1. gut 13 Fälle
2. besser 9 Fälle
3. am besten 8 Fälle

Ist soetwas möglich? Wenn nicht, welche Alternativen gibt es? Es muss ja nicht unbedingt ein neue Variable sein, u.U. würde eine Tabelle oder Grafik auch ausreichen. Aber wie würde der entsprechende Befehl lauten?

Danke!
Thymos
 
Beiträge: 3
Registriert: Do 8. Mär 2012, 11:44
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variablen mit gleichen Ausprägungen zusammenfassen

Beitragvon daniel » Fr 9. Mär 2012, 09:31

Eine solche Variable zu erstellen ist nicht möglich*, weil in Deinem Datensatz 10 Zeilen (=Fälle) sind, Deine neue Variable aber 30 Fälle (=30 Zeilen) impliziert.

Hier ist ein Beispiel, wie Du eine Tabelle erzeugst.

Code: Alles auswählen
mat T = J(3, 1, .)
forv j = 1/3 {
   qui cou if inlist(`j', v1, v2, v3)
   mat T [`j', 1] = r(N)
}
matlist T




* Das ist gelogen. Es ist natürlich möglich. In aller Regel willst Du diesen Aufwand aber nicht betreiben, falls es doch unbedingt sein soll, schreib nochmal.
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variablen mit gleichen Ausprägungen zusammenfassen

Beitragvon Thymos » Fr 9. Mär 2012, 18:11

Ich habe diesen Aufwand bereits betrieben ^^. Die Lösung liegt darin, den strukturellen Aufbau des Datensatzes zu verändern. Und das geht über den reshape Befehl. Durch diese Veränderung haben sich entsprechende Variablen erstellen lassen. Aber danke für deine Mühe!
Thymos
 
Beiträge: 3
Registriert: Do 8. Mär 2012, 11:44
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variablen mit gleichen Ausprägungen zusammenfassen

Beitragvon daniel » Fr 9. Mär 2012, 21:41

Geht natürlich auch, scheint mir aber recht umständlich, wenn man lediglich eine Auszählung machen will.

Die sechs Zeilen code waren kein großer Aufwannd, von daher nichts zu danken. Kannst Du Deine Lösung als pseudo code posten? Könnte für andere interessant sein, den Ansatz zu sehen.
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variablen mit gleichen Ausprägungen zusammenfassen

Beitragvon Thymos » Fr 9. Mär 2012, 23:17

Ok, wir orientieren uns mal an den drei Variablen aus meinem Anfangspost. Wichtig ist zusätzlich noch, dass der Datensatz eine Variable mit den eindeutigen Identifikationsnummern der Befragten hat. In diesem Falle nehmen wir mal an, dass diese Variable v0 heißt.

*1. die drei Variablen v1 v2 v3 kopieren und umbenennen, um die Originale unverändert zu lassen:

gen test_1=v1
gen test_2=v2
gen test_3=v3

*2. Datensatzstruktur verändern (hier muss die Variable mit der Identifikationsnummer des Befragten angegeben werden):

reshape long test_, i(v0) string

*3. Ergebnis betrachten:

tab test_

Der Aufwand war eigentlich nicht so groß. Es hat lediglich eine Weile gedauert, die entsprechenden Informationen im Netz zu finden. Praktisch an diesem Verfahren ist, dass man den strukturellen Aufbau des Datensatzes ohne weiteres wechseln kann. Nach dem man den Befehl bei 2. ausgeführt hat, kann man mit dem Befehl "reshape wide" wieder zur alten Datensatz struktur zurück und mit "reshape long" wieder zur neuen.
Thymos
 
Beiträge: 3
Registriert: Do 8. Mär 2012, 11:44
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Stata Syntax

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron