2013-06-10 14 views
5

Ich habe dies viele Male mit Excel und Java getan ... Dieses Mal muss ich es mit Stata tun, weil es bequemer ist, Variablen 'labels zu erhalten. Wie kann ich Datensatz_1 in Datensatz_2 umstrukturieren?Stata. Wie transformiert man einen Datensatz in reine Panel-Daten?

Ich brauche die folgenden dataset_1 zu transformieren:

enter image description here

in dataset_2:

enter image description here

Ich kenne einen Weg, der ein wenig umständlich ist ... Ich meine, ich könnte alle Beobachtungen expand, dann Variableerstellen 210, und dann, rename Variablen ... Gibt es einen besseren Weg?

Antwort

6

Stata ist wunderbar in dieser Art von Sache, es ist eine einfache reshape. Ihre Daten sind ein wenig peinlich, da der Befehl reshape für die Arbeit mit Variablen entworfen wurde, bei denen der gemeinsame Teil des Variablennamens (in Ihrem Fall "Wage") zuerst kommt. In der Dokumentation für reshape wäre "Wage" der Stub. Der auf Wage folgende Teil muss numerisch sein. Wenn Sie zuerst Ihre Variablennamen sortieren, indem

rename (raceWhiteWage raceBlackWage raceAsianWage) (Wage1 Wage2 Wage3) 

Dann können Sie tun:

reshape long Wage, i(state year) j(race) 

, dass Sie die Ausgabe geben sollte Ihr für suchen. Sie erhalten eine Spalte mit der Bezeichnung "Rasse" mit den Werten 1 für Weiß, 2 für Schwarz und 3 für Asiaten.

+0

Reshape ist ein schwieriger Befehl, ich kann es noch nicht einmal begreifen. Das Suffix des Stubs, Wage, muss numerisch sein. Ich bearbeite meine Antwort jetzt –

+0

toll, danke! Es klappt!!! – CHEBURASHKA

+0

@Snoozer Sie können String-Suffixe haben; Sie müssen dies nur explizit mit der Option "string" machen. –

Verwandte Themen