Stata: ersetzen der fehlenden Werte mit vorhandenen Beobachtungen
Ich versuche zu ersetzen der fehlenden Werte durch die entsprechenden Werte aus der gleichen Spalte abhängig von Ihrer Gleichheit aus anderen Spalten:
Ich habe verschiedene Firmen aus verschiedenen Branchen & Ländern und aus unterschiedlichen Jahren. Unten ist nur ein kleines Beispiel. Ich würde gerne ersetzen die fehlenden Werte (in der Spalte Branche oder Land) mit der vorhandenen Werte in der Spalte, wenn Sie kommen aus der gleichen Firma.
Zum Beispiel, die Firma 123 fehlt seiner Branche in Jahr 2. Ich habe in der Branche in der die Firma gehört, in der früheren (manchmal auch erfolgreich) Jahre, aber nicht wissen, wie Sie es hinzufügen.
Anderes Beispiel: ich habe die Firma 444, die fehlt Ihr Land in Jahr 3. Ich habe Ihr Land aus den vorherigen Jahren, aber nicht wissen, wie zu übertragen /kopieren Sie es in das 3. Jahr:
--firm--year--industry--country
--123----1-------1---------usa
--123----2-------1---------usa
--123----3--------.--------usa
--333----1-------2---------usa
--333----2--------.---------usa
--444---1---------.----------fr
--444---2---------2---------fr
--444---3---------2----------.
Blickte ich auf stata/- Hilfe sowie im internet. Alle, die ich finden konnte, war der Befehl ersetzen, aber es wird nur ersetzt, gleich zahlen.
Ich denke es wird etwas mit:
replace industry=(problaby something dependant of the firm (and maybe year)) if industry==.
replace country=(problaby something dependant of the firm (and maybe year)) if country==.
Ich bin mir nicht sicher für das Land Ersatz, weil die Beobachtungen nicht zahlen. Ich denke, ich werde zu müssen, erzeugen Sie eine neue variable mit den zahlen für das Land-Ersatz.
Vielen Dank!
InformationsquelleAutor Franz | 2013-07-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werfen Sie einen Blick auf ersetzen der fehlenden Werte mit benachbarten Werten FAQ und im Rahmen von user-geschrieben
xfill
. Letzteres ist nützlich für das ausfüllen von statischen Variablen. Es ersetzt fehlende Werte in einem cluster mit der einzigartigen non-missing-Wert in diesem cluster.InformationsquelleAutor Dimitriy V. Masterov
Für dieses Besondere Beispiel, wo die Industrie-variable ist innerhalb der Firma, könnte man auch schreiben
Dieser code erstellt eine lokale variable, F, ist eine Liste von allen verschiedenen Firmen. Dann fasst die Branche für jedes Unternehmen. Da die Industrie Zahl wird immer die gleiche sein für Beobachtungen aus der gleichen Firma, der Mittelwert wird nur die Industrie Anzahl. Der code ersetzt dann den Wert der Industrie zu werden, diese Nummer für alle Beobachtungen innerhalb dieser Firma (könnte man auch weglassen "& Industrie==." Teil des Codes hier, und es würde immer noch funktionieren auf die gleiche Weise).
bysort firm (industry) : replace industry = industry[1] if missing(industry)
. Das istlevelsof
und der loop sind beide unnötig. (Als Sie sagen, es gibt eine STILLSCHWEIGENDE Annahme, die hier zu einem eindeutigen Wert für jede Firma, die Ersatz verwendet.)InformationsquelleAutor Craig Kerr