Friday 14 April 2017

How To Merge Mehrfach Datasets In Stata Forex

Stata für Forscher: Kombination von Datensätzen Dies ist Teil acht der Stata for Researchers Serie. Eine Liste der Themen, die von dieser Serie abgedeckt werden, finden Sie in der Einleitung. Wenn Sie zu Stata neu sind, empfehlen wir, die Artikel in der Reihenfolge zu lesen. Die Kombination von zwei Datensätzen ist eine gemeinsame Datenmanagementaufgabe, die sehr einfach durchzuführen ist. Allerdings ist es auch sehr einfach, falsch zu bekommen. Vor der Kombination von Datensätzen sicher sein, dass Sie die Struktur der beiden Datensätze und die Logik der Art und Weise youre kombinieren sie verstehen. Andernfalls können Sie am Ende mit einem Datensatz, den Sie denken, ist zur Analyse bereit, aber ist wirklich völliger Quatsch. Stata versucht, sicherzustellen, dass youve durch das, was youre tun gedacht, aber kann nicht sagen, was Sinn macht und was doesnt. Stata arbeitet immer mit einem Datensatz zu einem Zeitpunkt, so dass Sie immer den Datensatz in den Speicher (der Stammdatensatz) mit einem anderen Datensatz auf der Festplatte (die so genannte Daten-Set, aus Gründen, die klar sein wird, wenn Sie sehen, zu kombinieren Die Syntax). Anhängen von Datensätzen Stata ruft sie an, wenn Sie die Beobachtungen aus dem verwendeten Datensatz zum Stammdatensatz hinzufügen. Anhängen ist sinnvoll, wenn die Beobachtungen in beiden Datensätzen die gleiche Art von Dingen darstellen, aber nicht die gleichen Dinge. Beispielsweise können Sie einen Datensatz von Personen aus Wisconsin an einen Datensatz von Leuten aus Illinois anhängen. Die Datensätze sollten die gleichen oder meistens dieselben Variablen mit denselben Namen haben. Wenn eine Variable nur in einem Datensatz erscheint, erhalten Beobachtungen aus dem anderen Datensatz fehlende Werte für diese Variable. Die Syntax für die Ausführung eines Anhangs ist einfach: Laden Sie den Stammdatensatz und geben Sie folgendes ein: append using dataset wobei dataset der Name des Datensatzes ist, den Sie anhängen möchten. Zusammenführen von Datensätzen Stata ruft sie zusammen, wenn Beobachtungen von den beiden Datensätzen kombiniert werden. Es gibt in der Theorie vier Arten von Merges: In einem One-to-One Merge wird eine Beobachtung aus dem Master-Datensatz mit einer Beobachtung aus dem verwendeten Datensatz kombiniert. Ein Eins-zu-Eins-Zusammenführen macht Sinn, wenn die Beobachtungen in beiden Datensätzen die gleichen Dinge beschreiben, aber unterschiedliche Informationen über sie haben. Zum Beispiel könnten Sie zusammenfassen die Antworten, die Menschen in der Welle einer einer Umfrage mit den Antworten die gleichen Personen gab in Welle zwei der Umfrage. In einer Eins-zu-Viele - oder Viel-zu-Eins-Zusammenführung wird eine Beobachtung von einem Datensatz mit vielen Beobachtungen von dem anderen kombiniert (wobei die Differenz zwischen Eins-zu-Viele und Viele-zu-Eins ist, ob der Stammdatensatz Hat den Quotienten oder den verwendeten Datensatz). Diese Zusammenführungen sind sinnvoll, wenn Sie hierarchische Daten haben und ein Datensatz Informationen über die Einheiten der Ebene 1 enthält, während der andere Informationen über die Einheiten der Ebene zwei enthält. Beispielsweise können Sie Informationen über Haushalte mit Informationen über Personen, die in diesen Haushalten leben, zusammenführen. Grundsätzlich gibt es auch viele-zu-vielen Zusammenschlüsse. In der Praxis sind sie selten, wenn überhaupt nützlich. Wenn Sie finden, dass Sie wollen, um eine viele-zu-viele Merge zu tun, sollten Sie überdenken, was youre tun. Oft, was Sie wirklich tun müssen, ist identifizieren und korrigieren doppelte Bezeichner, und dann Ihre Zusammenführung funktioniert als one-to-one oder one-to-many. In allen Zusammenfassungen gut diskutieren, kombiniert Stata Beobachtungen, die den gleichen Wert einer Schlüssel-Variable, in der Regel eine ID. Sie können auch basierend auf mehreren Variablen (z. B. kombinieren Daten für den gleichen Zustand und Jahr). Bei einem Eins-zu-Viele - oder Viel-zu-Eins-Zusammenführen ist es die Kennung für die Ebene-Zwei-Einheiten, die die Schlüsselvariable (z. B. Haushalts-ID, nicht einzelne ID) ist. Es ist sehr wichtig, dass die Schlüsselvariable das gleiche Format in beiden Datensätzen haben. Wenn eine Beobachtung in einem Datensatz nicht mit einer Beobachtung im anderen übereinstimmt, werden fehlende Werte für die Variablen des anderen Datensatzes angegeben. Da die Realisierbarkeit eines Forschungsvorhabens oft davon abhängt, wie viele Beobachtungen tatsächlich zusammenlaufen (zB wie viele Personen aus der Welle eine Welle in Welle zwei gefunden haben), gibt Ihnen Stata die Möglichkeit, herauszufinden, wie viele Beobachtungen tatsächlich zusammengeführt wurden und welche zu untersuchen sind Nicht. Wenn eine Variable in beiden Datensätzen vorhanden ist, werden die Werte aus dem Stammdatensatz beibehalten und die Werte aus dem verwendeten Datensatz verworfen. Gelegentlich ist dies, was Sie wollen, aber es ist eher ein Fehler sein. Im Allgemeinen sollten Sie Ihre Daten so einrichten, dass die einzigen Variablen, zu denen die zu verschmelzenden Dateien gehören, die Schlüsselvariablen sind. Die Syntax für einen Merge lautet wie folgt: merge type keyvars using dataset Der Typ muss 1: 1 (eins zu eins), 1: m (eins zu viele), m: 1 (viele-zu-eins) oder m: M (viele zu vielen) keyvars ist die Schlüsselvariable oder die Variablen und dataset ist der Name des Datensatzes, den Sie zusammenführen möchten. Ein Beispiel für die Kombination von Datensätzen Die Beispiele enthalten mehrere Dateien mit fiktiven Studenten Informationen aus 2007. scores. dta enthält die Schüler Punkte auf einem standardisierten Test, demographics. dta enthält demografische Informationen über sie, und teachers. dta enthält Informationen über ihre Lehrer. Nehmen Sie sich einen Moment Zeit, um jede Datei zu betrachten, und starten Sie dann eine do-Datei, die Partituren lädt. In diesem Datensatz repräsentiert jede Beobachtung einen Schüler. Surfen und youll sehen, dass Sie eine Studenten-ID (id), eine Lehrer-ID (Lehrer) und eine Punktzahl für jeden haben. Ihre erste Aufgabe ist es, die demografischen Informationen hinzuzufügen. In Demographie. dta stellt jede Beobachtung auch einen Schüler dar, wobei die Variablen id und Rasse sind. So ist dies ein Job für eine Eins-zu-Eins-Zusammenführung und die Schlüsselvariable ist id. Fusionieren 1: 1 id mit demographischen Daten Stata berichtet, dass alle 60 Beobachtungen übereinstimmen. Es wird auch eine Variable namens zusammenführen. Einer in merge bedeutet eine Beobachtung kam nur aus dem Stammdatensatz ein zwei Mittel kam es nur aus dem verwendeten Datensatz und ein drei Mittel eine Beobachtung erfolgreich abgestimmt und kam somit von beiden. In diesem Fall sehen wir, dass alle Beobachtungen übereinstimmen und somit gleich drei sind, so dass keine Notwendigkeit besteht, die Variable zu halten. In der Tat müssen wir es fallen lassen (oder umbenennen), bevor Sie weitere Zusammenführungen: Nächst Infos über Lehrer hinzufügen. In Lehrer. dta stellt jede Beobachtung einen Lehrer dar, und jeder Lehrer hat viele Schüler. Das macht dies zu einem vielseitigen Zusammenführen (da die vielen Studenten derzeit im Speicher sind und der eine Lehrer im verwendeten Datensatz ist). Die Schlüsselvariable ist nicht id. Denn das bezieht sich auf die Schüler, sondern Lehrer: fusionieren m: 1 Lehrer mit Lehrern Wieder wurden alle 60 Beobachtungen ordnungsgemäß zusammengeführt, so können Sie fusionieren. Kombinieren von Panel-Daten Angenommen, Sie verfolgten diese Schüler mehrere Jahre. Der Datensatz panel2007.dta enthält eine vereinfachte Version dieses Datensatzes: id id und score. Der Datensatz panel2008.dta hat die gleichen Variablen für ein anderes Jahr. Wie würden Sie kombinieren Die richtige Art und Weise zu kombinieren, hängt davon ab, welche Datenstruktur Sie wollen. Dies ist hierarchische Daten, bei denen eine Ebene zwei Einheit ist ein Schüler und eine Ebene eine Einheit ist ein Studenten-Daten für ein bestimmtes Jahr. So kann es in breiter Form dargestellt werden (eine Beobachtung pro Schüler) oder in Langform (eine Beobachtung pro Schüler pro Jahr). Um die Daten in lange Form einfach stapeln die beiden Datensätze mit append. Jedoch müssen youll wissen, welches Jahr jede Betrachtung darstellt. Um dies zu tun, fügen Sie eine Jahresvariable für beide Datensätze, mit dem Wert 2007 für die 2007-Daten und den Wert 2008 für die 2008-Daten. Sie können dies mit der folgenden do-Datei tun: löschen Sie alle setzen mehr aus dem Capture-Protokoll schließen Protokoll mit combine1.log, ersetzen Sie use panel2007 gen Jahr2007 save panel2007append use panel2008 Gen year2008 append using panel2007append Speichern appendedData, replace Um die Daten in breiter Form zu setzen, Führen Sie eine Eins-zu-Eins-Verschmelzung mit id als Schlüsselvariable durch. Aber zuerst müssen Sie die Variablennamen ändern. Daran erinnern, dass in der breiten Form, ist es die Variablennamen, die Ihnen sagen, welche Ebene eine Einheit, die Sie reden. Also statt der Punktzahl. Sie benötigen score2007 und score2008. Löschen Sie alle setzen mehr aus dem Capture-Protokoll zu schließen Protokoll mit combine2.log, ersetzen Sie use panel2007 umbenennen Ergebnis score2007 speichern panel2007merge verwenden panel2008 umbenennen Ergebnis score2008 merge 1: 1 id mit panel2007merge speichern mergedData, ersetzen Dieses Mal youll sehen, dass eine Beobachtung nicht übereinstimmt. Sie können sehen, welche durch die Eingabe: Schülerzahl 55 war nicht in panel2008 und konnte daher nicht abgestimmt werden. Als Ergebnis haben wir keine Ahnung, was seine Testergebnis im Jahr 2008 war. Leider ist dies sehr common8212Studenten bewegen sich aus der Schule Bezirke zwischen den Tests die ganze Zeit. Wenn Ihre gesamte Forschungs-Agenda hängt davon, dass beide Testergebnisse, müssen Sie möglicherweise fallen, um Beobachtungen, die nicht in beiden Datensätzen vorhanden sind. Sie können dies an dieser Stelle tun, indem Sie Folgendes hinzufügen: drop if merge3 Sie können auch festlegen, welche Beobachtungen direkt im Befehl merge gehalten werden sollen: 1: 1 id über panel2007merge zusammenführen, keep (match) keep (match) bedeutet nur die passenden Beobachtungen zu halten . Die Alternativen sind Master und verwenden. Und Sie können mehr als eine Liste. Zum Beispiel, um Beobachtungen, die Übereinstimmung und Beobachtungen, die nur aus dem Stammdatensatz zu halten, halten, während wegwerfen Beobachtungen, die nur aus dem verwendeten Datensatz, youd sagen halten (master match) kommen. Häufige Probleme mit Merges Merges werden alle möglichen Probleme mit Ihrem Datensatz aufdecken (und wenn theyre nicht feste Verschmelzung neue eingeführt wird). Hier sind zwei gemeinsame und wie sie zu beheben: Key-Variablen in verschiedenen Formaten gespeichert Während Stata glücklich mit verschiedenen Arten von Zahlen (z. B. Ints und Floats) übereinstimmen, kann es nicht Zahlen und Zeichenfolgen entsprechen. IDs können entweder gespeichert werden (solange Sie einen numerischen Typ wählen, der genügend precision8212se Arbeiten mit Daten hat) und es ist nicht ungewöhnlich zu finden, dass Ihre Datensätze die ID auf unterschiedliche Weise speichern. In diesem Fall ist es normalerweise am besten, die Zahlen in Strings umzuwandeln: gen idStringstring (id) drop id umbenennen idString id Die Zeichenfolge () nimmt eine Zahl und konvertiert sie in einen String. Sie können ihm ein zweites Argument geben, das das Format enthält, in dem die Zahl wenn nötig notiert werden soll. Doppelte IDs Wenn Sie versuchen, einen Seriendruck durchzuführen und eine Fehlermeldung zu erhalten, wie quotvariable id nicht eindeutig Beobachtungen im master dataquot identifiziert, bedeutet dies, dass Sie doppelte IDs im angegebenen Datensatz haben. Dieses Problem muss behoben werden, bevor Sie fortfahren. Ändern Sie nicht einfach den Typ des Merge für den relevanten Datensatz von quotonequot zu quotmanyquot in der Hoffnung, dass die Fehlermeldung weggeht8212die resultierende Datenmenge wird für die betroffenen Beobachtungen keinen Sinn ergeben. Eine mögliche Quelle für Duplikate ist der Rundungsfehler aufgrund des Speicherns der IDs in einem unangemessenen Variablentyp. In diesem Fall müssen Sie zu den ursprünglichen Daten zurückkehren und sicherstellen, dass die Bezeichner als ein Typ gespeichert sind, der sie umgibt, wie lang, doppelt oder Zeichenfolge. Beachten Sie, dass fehlende Werte zu Zwecken der Vereinigung genau wie jeder andere Wert behandelt werden. Wenn Sie Beobachtungen mit fehlenden IDs haben, wird Stata sie als Duplikate zählen. Youll wahrscheinlich haben, um sie vor der Verschmelzung fallen. Aber die meisten der Zeit duplizieren IDs resultieren aus Fehlern in den Daten. Sie müssen etwas tun, bevor Sie Ihre Zusammenführung durchführen können. Starten Sie eine do-Datei, die den Datensatz mergeerror lädt. Dieser Datensatz enthält Studenten, aber einige von ihnen haben doppelte IDs, die behoben werden müssen. Sie können sehen, wie viele Probleme haben Sie mit Duplikaten Bericht: dupliziert Bericht-id Dies sagt Ihnen, wie viele Beobachtungen haben den gleichen Wert der ID. Die Ausgabe sagt Ihnen, dass keine ID mehr als zweimal angezeigt wird, aber zwölf Beobachtungen haben doppelte IDs. Für weitere Untersuchungen erstellen Sie eine Variable, die angibt, wie viele Kopien von jeder ID vorhanden sind: bysort id: gen copiesN Dann können Sie sich nur die Problembeobachtungen ansehen mit: browse if copiesgt1 Für die Beobachtungen mit id gleich 9, 26 und 33 sind die beiden Beobachtungen mit derselben ID identisch. Dies deutet darauf hin, dass der gleiche Student wurde zweimal eingegeben und Sie können das Problem durch einfaches Fallenlassen der zusätzlichen Beobachtungen zu beheben. Machen Sie dies mit: Beachten Sie, dass dieser Befehl, anders als der Duplikat-Bericht-Befehl, den Sie früher ausgeführt haben, keine Varlist hat. Dies bedeutet, es fällt nur doppelte Beobachtungen, wenn sie den gleichen Wert für alle Variablen, nicht nur id haben. Sie können es eine Varlist, so dass es fällt Beobachtungen, wenn nur die Variablen haben die gleichen Werte, aber seien Sie vorsichtig dabei. An diesem Punkt in komplexen Problemen können Sie die Kopien-Variable löschen, die Sie zuvor erstellt haben, neu erstellen und es so durchsuchen, wenn kopiesgt1 nicht mehr die Beobachtungen zeigt, die Sie bereits festgelegt haben, aber es gibt keine Notwendigkeit in diesem Datensatz. Für die Beobachtungen mit id gleich 64, 74 und 94 zeigen die anderen Variablen, dass die Beobachtungen mit derselben ID nicht dieselbe Person sind. Dies ist ein Hauptproblem für die Verschmelzung: Sie können nicht sicher sein, welche quadstudent 64quot in diesem Datensatz mit dem quotstudent 64quot in dem hypothetischen anderen Datensatz geht. Das Hinzufügen weiterer Variablen kann helfen. Zum Beispiel würde in diesem Fall die Verschmelzung sowohl durch id als auch durch Rennen die korrekte Übereinstimmung der beiden Subjekte mit einer ID gleich 94 ermöglichen. Rennen. Und Grade würde es Ihnen ermöglichen, korrekt auf die Themen mit id gleich 74. Denken Sie daran, dass, wenn der Datensatz, den Sie mit diesem zusammenführen wollten für das folgende Schuljahr wie in unserem vorherigen Beispiel youd haben eine von ihr zu subtrahieren Erstklassige Variable. Wenn Sie diese Route wählen, erstellen Sie die Kopienvariable mit dem kompletten Satz von Variablen neu, die Sie mit dem Präfix übereinstimmen möchten, und sehen Sie, wie viele Duplikate noch vorhanden sind. Nichts wird mit den beiden Beobachtungen mit id gleich 64 helfen, und in einem größeren Datensatz ist es weniger wahrscheinlich, dass die Übereinstimmung mit ein paar mehr Variablen können Sie eindeutig identifizieren Themen. In solchen Fällen youll wahrscheinlich brauchen, um alle Beobachtungen, die Sie nicht eindeutig identifizieren können, da Sie zuverlässig cant passen alle sie. Sie können dies tun mit: drop, wenn copiesgt1 Eine alternative Möglichkeit, Datensätze in breite Form zu kombinieren, besteht darin, sie zuerst anzuhängen und dann neu zu formatieren. Kombinieren Sie panel2007 und panel2008 in breite Form mit dieser Methode. (Lösung) Wenn Sie die zwei Jahre Daten in lange Form mit append kombinieren. Wie finden Sie die Beobachtung, die nicht im Jahr 2008 (Lösung) Combine error2007.dta und error2008.dta durch Verschmelzung es in die weite Form, die Festsetzung, was Probleme finden Sie. Dann fügen Sie die beiden Datensätze und versuchen, die gleichen Probleme zu finden. (Lösung) Zuletzt überarbeitet: 12292015Schritt 2 - Mehrere Datensätze kombinieren In vielen Fällen kommen die für die statistischen Analysen benötigten Daten aus verschiedenen Quellen. Wenn Sie beispielsweise das internationale Wachstum analysieren möchten, können Sie ökonomische Indikatoren in einem Datensatz der Weltbank, politische Indikatoren in Denkfabriken wie Freedom House und Klimadaten in einem anderen Datensatz finden. Ein anderer Fall ist, wenn Sie einen Datensatz haben, der in mehrere Dateien unterteilt ist. In diesem Beitrag werde ich versuchen, ein wenig zu erarbeiten, wie man es funktioniert. Typen von Datasets Kombinationen Es gibt zwei Haupttypen von Kombinationen: Vertikale Kombination - Sie möchten dies tun, wenn Sie Beobachtungen von einer Datei in eine andere Datei hinzufügen möchten. Wenn Sie beispielsweise an einem Sportstatistikprojekt arbeiten und Daten für die Spieler in vier separaten Dateien ablegen, gilt dies für jedes Jahr zwischen 2001 und 2004. Eine andere Möglichkeit ist, dass die Daten nach verschiedenen Ligen, Gruppen usw. getrennt sind. Solange die Variablen in den Dateien sind die gleichen und das einzige, was Sie tun müssen, um Beobachtungen hinzuzufügen, ist dies vertikale Kombination. Der Befehl in Stata, den wir verwenden, ist anhängen. Wir werden diesen Befehl später erforschen. Horizontale Kombination - Dies ist die Art von Kombinationen, in denen Sie Variablen hinzufügen möchten, und nicht Beobachtungen. Die Beobachtungen erscheinen in beiden Dateien (zumindest die meisten von ihnen), aber in jeder Datei gibt es verschiedene Informationen über sie. Zum Beispiel, wenn die Umgang mit High-School-Studenten und wir haben eine Datei mit ihren persönlichen Informationen und Noten, und eine andere Datei mit SAT-Scores nur. Wenn wir eine identifizierende Variable in beiden Dateien (z. B. Sozialversicherungsnummer) haben, können wir jedem Schüler seine SAT-Punktzahl zuordnen. Dieses Beispiel ist ein One-to-One-Matching. Es gibt drei Arten von Spielen dieser Art: One-to-One Matching. Wenn die Identifizierungsvariable, die in den Dateien angezeigt wird, in beiden Dateien eindeutig ist, dann handelt es sich um eine Eins-zu-Eins-Übereinstimmung. Eindeutig bedeutet, dass es für jeden Wert dieser Variablen nur eine Beobachtung gibt, die sie enthält. In der folgenden Abbildung ist das Land die identifizierende Variable. In beiden Datensätzen hat jedes Land nur eine Beobachtung. Eins-zu-Viele passend. Wenn die identifizierende Variable in einer Datei eindeutig ist, aber nicht in der anderen eindeutig ist, dann ist sie eine Eins-zu-viele-Übereinstimmung. Dies ist sehr häufig, wenn Sie Gruppen von Beobachtungen in einer Datei (die Datei mit der identifizierenden Variablen, die nicht eindeutig ist) und Informationen zu jeder Gruppe in einer anderen Datei (die andere Datei) haben. Die folgende Abbildung wird es deutlicher machen: Wie Sie sehen können, kann man die Personen zu housefolds gruppieren. Die haushaltsidentifizierende Variable (famID) ist für beide Dateien gemeinsam. Es ist nicht eindeutig in der Datei Individuum, aber es ist eindeutig in der Haushalte-Datei. Dies ermöglicht es Stata, allen Mitgliedern des Haushalts denselben Wert jeder der Haushaltvariablen zuzuweisen. Beachten Sie, dass, obwohl wir eine eindeutige Kennung für die Einzelpersonen (indivID) haben, es für dieses Zusammenführen von Dateien irrelevant ist. Viele-zu-Viele passend. Das ist sehr selten. Dies ist auch problematisch, da es keine eindeutige Regel für die Zuordnung von Werten aus Beobachtungen in einer Datei zu Beobachtungen in der anderen Datei gibt. Ich werde nicht auf dieses Matching zu viel ausarbeiten. Es gibt drei Befehle, die Sie kennen sollten, wenn Sie Datensätze kombinieren möchten: anhängen. Fusionieren und beitreten. Alle drei von ihnen kombinieren die Datensätze derzeit im Speicher mit Daten aus einer Datei, die Sie angeben. Wir nennen die Daten im Speicher Stammdaten und die Daten aus der angegebenen Datei mit Daten zu kombinieren. Es wird klar, warum wir das Wort verwenden hier verwenden. Der Befehl append führt das aus, was wir vertikale Kombination genannt haben. Er fügt Beobachtungen hinzu. Seine Syntax, in einer einfachen Form (für Optionen, die in diesem Tutorial nicht spezifiziert werden, können Sie immer help append in der Befehlszeile, um mehr über den Befehl zu erkunden), geht wie folgt: append mit ltfilenamegt anfügen mit C: moreobservations. dta Anhängen mit C: moreobservations (dies ist gleichwertig) Dies fügt die Beobachtungen aus der Datei C: moreobservations. dta zu den Daten im Speicher hinzu. Wenn keine Erweiterung angegeben ist (d. H. Dta am Ende des Dateinamens), nimmt Stata ihre. dta an, so dass Sie sie weglassen können. Jetzt verstehen Sie, warum wir die Daten in C: moreobservations. dta mit Data aufrufen. Was passiert, wenn Variablen in den Stammdaten vorhanden sind, die in der Verwendung von Daten nicht vorhanden sind Die Beobachtungen aus der Verwendung von Daten werden in diesen Variablen fehlende Werte zugewiesen. Wenn zusätzliche Variablen in der Verwendung von Daten, die nicht in den Stammdaten angezeigt werden, vorhanden sind, haben die Beobachtungen aus den Stammdaten fehlende Werte in ihnen. Tipp. Bevor Sie anhängen, sollten Sie sicherstellen, dass Sie die Quelldatei für jede Beobachtung kennen. Wenn Sie zum Beispiel Daten aus dem Jahr 2008 an Daten im Jahr 2007 anfügen, sollten Sie sicherstellen, dass Sie das variable Jahr in jedem der Datasets vor dem Einbau der Daten verwenden. Für die horizontale Kombination von Datensätzen benötigen Sie entweder Merge oder Joinby. Der Unterschied zwischen ihnen ist die Methode, die sie verwenden, um die Verschmelzung zu tun, aber in one-to-one oder ein-zu-vielen Merges, geben sie fast die gleiche Funktionalität. Wir beginnen mit dem Befehl merge. Die Syntax ist in ihrer einfachsten Form: merge ltidentifizierende Variable (s) gt mit ltfilenamegt (1) use D: geography, clear Annahmen D: geography. dta merge country using D: economy Angenommen D: economy. dta (2) merge Famid unter Verwendung von K: households. dta (3) Merge-Statusjahr unter Verwendung von K: USAdataprecipitation. dta Im ersten Beispiel lädt Stata zuerst Beobachtungen aus einer Datei mit dem Namen Geography und übergibt sie dann an Beobachtungen in der economy. dta-Datei. Dies wird tun, was die Figur in der one-to-one Abschnitt oben zeigt. Hinweis: was kommt, nachdem der doppelte Vorwärts-Schrägstrich () von Stata ignoriert wird. Sein verwendet, um den Code klarer, um den menschlichen Leser Im zweiten Beispiel davon ausgehen, die Personen-Dataset ist bereits im Speicher. Ich versuchte zu tun, was die Figur in der Eins-zu-vielen Abschnitt oben zeigt. Beachten Sie, dass es keinen Unterschied in der Syntax des Befehls gibt. Der einzige Unterschied besteht in der Struktur der Dateien, auf denen Sie arbeiten. Im dritten Beispiel wollte ich zeigen, dass Sie mehr als eine identifizierende Variable verwenden können. Falls nur die Kombination von Variablen eindeutig ist (und Sie die Beobachtungen eindeutig identifizieren möchten), können Sie beide angeben. In diesem Beispiel nehmen Sie an, dass Sie Daten auf der Grundlage des Standesjahres haben (dies wird Panel-Daten genannt, da Sie dieselben Themen in verschiedenen Fällen wieder auftauchen) - sagen wir Auto Unfalldaten (Anzahl der Unfälle, Verletzungen usw.) und Sie müssen Fügen Sie Daten über die Wetterbedingungen in diesem Jahr, müssen Sie sagen, Stata, um das Spiel zwischen den Datensätzen sowohl nach Staat und Jahr. Wichtig. Der Merge-Befehl erfordert, dass sowohl die Master - als auch die Anwendungsdaten nach den identifizierenden Variablen sortiert werden. Wenn die Stammdaten nicht sortiert sind, führen Sie sort ltidentifying variable (s) gt vor dem Merge-Befehl aus. Wenn die Daten nicht sortiert sind, öffnen Sie sie zuerst (verwenden Sie ltfilenamegt, löschen), führen Sie den Sortierbefehl aus, speichern Sie sie (speichern Sie ltfilenamegt, ersetzen), öffnen Sie die Stammdaten und führen Sie den Befehl merge aus. Heres ein Beispiel: verwenden Sie D: Wirtschaft, klar sortieren Land speichern D: Wirtschaft, ersetzen Verwendung D: Geographie, klar sortieren Land verschmelzen Land mit D: Wirtschaft 1) Da Sie D: economy. dta in der dritten Zeile gespeichert haben, werden Sie nicht Müssen Sie D: economy. dta öffnen und wieder sortieren. 2) Wenn Sie eine Eins-zu-eins-Übereinstimmung durchführen (d. H. Wenn die identifizierende Variable in beiden Sätzen eindeutig ist), können Sie den Befehl merge mit der Sortieroption ausführen. Es sortiert automatisch die Datensätze innerhalb des Merge-Befehls. Die Sortieroption funktioniert nicht, wenn die Identifizierungsvariablen nicht eindeutig sind. Der Merge-Befehl erstellt automatisch eine Variable namens merge. Die Informationen über die Existenz der Beobachtungen in jedem der beiden Datensätze enthält. In den einfachen Fällen, die ich oben erwähnt habe, enthält sie für jede der Beobachtungen einen der folgenden Werte: 1 Die Beobachtung (die identifizierenden Variablenwerte) erschien nur in den Stammdaten 2 die Beobachtung (die identifizierende Variable ( S) - Werte) erschien nur in den Use Data 3 die Beobachtung (die identifizierende Variable (s) Werte) erschien in beiden Datensätzen Es liegt an Ihnen zu entscheiden, was Sie mit jedem der Fälle tun wollen. In einigen Projekten wollen Sie keine Beobachtungen mit dem Wert 2 in der Merge-Variablen. Nehmen wir zum Beispiel Beispiel 2 oben. Wenn Sie Daten im Haushalt haben, aber Ihr Interesse an Einzelpersonen (in den Stammdaten) ist, brauchen Sie keine Beobachtungen mit Haushaltsdaten, aber ohne Personen, die damit verknüpft sind. Wenn Sie es loswerden möchten, können Sie entweder drop, wenn Merge 2 nach dem Merge-Befehl, oder, noch besser, führen Sie den Merge-Befehl mit der Option nokeep. Das heißt: merge famid mit K: households. dta, nokeep Sie können auch entscheiden, dass Beobachtungen in den Stammdaten, die keine entsprechenden Beobachtungen in den Daten verwenden, für Ihre Recherche irrelevant sind. In diesem Fall gibt es keine spezielle Option für den Merge-Befehl. Sie müssen also den Befehl drop hinzufügen, wenn Sie 1 nach dem Merge-Befehl zusammenführen. Aktualisieren und ersetzen Was passiert, wenn Sie überlappen zwischen den Variablen in den Dateien Sagen Sie, wenn Sie Daten aus dem CIA World Factbook und der Weltbank zusammenführen, haben Sie möglicherweise GNI in beiden Datensätzen. Wenn Sie keine davon angeben. Stata behält die Werte in den Stammdaten (im Speicher). Wenn Sie die Optionen update replace (replace cant ohne update angegeben) angeben, wird Stata stattdessen die Werte verwenden, die sich in den Daten verwenden und an die Stelle der Master Data-Werte setzen. Wenn Sie nur die Aktualisierungsoption (ohne Ersetzen) eingeben, wird Stata die Werte für die Verwendung von Daten nur in Beobachtungen setzen, in denen die Stammdatenwerte fehlen. Wenn Sie also die gleiche Variable, aber unterschiedliche Werte haben, verwenden Sie keine Option, wenn Sie glauben, dass die Stammdaten zuverlässiger sind. Verwenden Sie die Option zum Ersetzen von Aktualisierungen, wenn Sie der Ansicht sind, dass die Verwendung von Daten zuverlässiger ist. Wenn sie gleichmäßig zuverlässig sind, verwenden Sie einfach Update. Wenn Sie die Aktualisierungsoption angegeben haben, enthält Merge 5 mögliche Werte: 1 Die Beobachtung (die identifizierenden Variablen) erschien nur in den Stammdaten 2 die Beobachtung (die identifizierenden Variablen) erschien nur in der Verwendung von Daten 3 die Beobachtung (die identifizierenden Variablen (s) Werte) in beiden Datensätzen erschienen und die Werte in beiden die gleiche sind, die Beobachtung (die identifizierenden Variablen) in beiden Datensätzen erschien und der Wert in den Stammdaten fehlt. 5 die Beobachtung (die identifizierenden Variablen (s) Werte) erschien in beiden Datensätzen, aber die Werte in den Datensätzen nicht fehlen und nicht das gleiche. Merge-Land unter Verwendung von D: Economy, update Ersetzen der Merge-ID durch K: secondversion, update Wenn nur einige Variablen zusammengeführt werden sollen, können Sie stattdessen keep () angeben. Fusionieren Sie Land Jahr mit F: intlhealthstats. dta, halten (birthrate deathrate) einzigartig, uniqmaster, uniqusing und sortieren Um sicherzustellen, dass die Eins-zu-Eins - oder Eins-zu-vielen Spielen wirklich eindeutig definiert sind, können Sie sicherstellen, dass die Identifizierende Variablen sind entweder in den Stammdaten (uniqmaster), unter Verwendung von Data (uniqusing) oder in beiden Datasets (unique) eindeutig. Es ist wirklich empfehlenswert, sie anzugeben, obwohl sie nicht die Funktionalität ändern. Der Hauptbeitrag dieser Optionen ist es, Stata einen Fehler zu machen und zu beenden, wenn das, was Sie für einzigartig halten, nicht wirklich einzigartig ist. Mit der Sortieroption kann der Befehl merge die Datensätze alleine sortieren, aber es ist nur möglich, wenn Sie eine Eins-zu-eins-Übereinstimmung durchführen (dh die Sortierung ist eindeutig). Sie können mehr als eine Datei in einem Befehl zusammenführen. Anstatt nach der Verwendung einen Dateinamen anzugeben. Können Sie weitere Dateinamen hinzufügen. Wenn die Option nosummary nicht angegeben ist, wird der Befehl merge1, merge2 erstellt. Mergen-Variablen, bei denen der Beobachtungswert in jeder der Mergek-Variablen 1 ist, wenn der k-te Datensatz diese Beobachtungen hatte und 0 ansonsten. Die Merge-Variable ist immer noch vorhanden, aber jetzt ist der Wert 3 in ihr bedeutet, dass die Beobachtungen in mindestens einem der Verwendung von Datasets erschien. Persönlich bevorzuge ich das Ausführen des Merge-Befehls iterativ und Hinzufügen eines Datensatzes auf einmal. Es braucht, um die Merge-Variable jedes Mal, und es könnte mehr Zeit in Anspruch nehmen, aber ich kann besser berichten und mit den Merging-Ergebnisse. Der Joinby-Befehl macht fast denselben Job Merge tut, aber seine interne Arbeit ist anders, so könnte es Unterschiede in Bezug auf die Bearbeitungszeit. Sein Hauptunterschied entsteht, wenn youre Umgang mit vielen-zu-vielen Streichhölzern, aber es kann für Eins-zu-Eins-und Eins-zu-viele Spiele verwendet werden. Die einfache Syntax lautet: joinby ltidentifizierende Variable (s) gt mit ltfilenamegt joinby Land mit D: economy Im Gegensatz zu merge werden alle Beobachtungen gelöscht, die nicht in beiden Datensätzen vorkommen. Um diese Beobachtungen zu behalten, müssen Sie die nicht angepasste () Option verwenden. Diese Option hat vier mögliche Variationen: Unübertroffene (keine) - Halten Sie keine der unvergleichten Beobachtungen (dies ist die Standardeinstellung) unübertroffen (Master) - Halten Sie Beobachtungen in Stammdaten, die keine Übereinstimmung im Verwenden von Daten haben (aber nicht umgekehrt) ) - Halten Sie Beobachtungen von der Verwendung von Daten, die keine Übereinstimmung in den Stammdaten haben (aber nicht umgekehrt), nicht übertroffen (beide) - Halten Sie alle nicht übereinstimmenden Beobachtungen sowohl von der Verwendung als auch von den Stammdaten So, wenn Sie dasselbe tun möchten, wie im ersten Beispiel Des Merge-Befehls verwenden Sie den folgenden Command: Joinby-Land mit D: economy, unmatched (beide) Es ist nicht erforderlich, dass die Datensätze nach den identifizierenden Variablen sortiert werden, was ein Vorteil gegenüber Merge ist. Die Update - und Ersetzungsoptionen stehen auch für Joinby zur Verfügung. Wie gesagt, mehr Details mit: Obwohl ich habe es nie benötigt, ist dies, wo Merge und Joinby wird Ihnen völlig andere Ergebnisse. Die Frage ist, wie Werte von einem Datensatz zum anderen übereinstimmen. Ich denke, der beste Weg, um den Unterschied zwischen den Befehlen zu erklären, ist grafisch: Jetzt können Sie die Bedeutung des Satzes, der den joinby-Befehl in der Hilfe-Referenz beschreibt, verstehen: Form alle paarweise Kombinationen innerhalb von Gruppen. Fazit Wenn Sie Anmerkungen hinzufügen möchten: append. Wenn Sie Variablen hinzufügen möchten: merge oder joinby Wie immer, bevor Sie feiern, stellen Sie sicher, dass Sie die richtige Kombination der Dateien erhalten, indem Sie die Mittelwerte, Zählungen, minimalen und maximalen Werte (Summenbefehl) und Tabulatoren (Tabulatortaste) betrachten. Einen Blick auf die Merge-Variable werfen. Suchen Sie nach fehlenden Werten oder anderen äußeren Beobachtungen. Wenn Sie zu viele von ihnen haben, könnten Sie einen Fehler auf dem Weg gemacht haben. Durchsuchen Sie die Daten ein wenig. Sehen Sie, dass die Daten ordnungsgemäß zusammengeführt wurden. Vergessen Sie nicht, die Datei zu speichern (dh, wenn Sie den Zusammenführungsbefehl später nicht erneut ausführen möchten). STATAMAN, du bist glänzend. Hey stataman Ich mache eine Verschmelzung von einem Bündel von Dateien, die alle bereits sortiert sind von der Personid Im mit. Heres den Befehl und die Ausgabe: IDS7GIND. DTA IDS7BIND. DTA idS19CIND. DTA IDS7FIND. DTA idS9IND. DTA IDS7HIND. DTA IDS3IND. DTA, Merge (Ind) (Label Zeiteinheit bereits definiert) (Label yesno bereits definiert) (Label Timeunit bereits definiert) (Label jano bereits definiert) haben Sie eine Ahnung, was dieses Etikett bereits definiert ist, hey und wann bekommen wir unseren Beitrag auf Gott danken für die egen Befehl hmm ich havent gesehen einen Fehler wie dieser vor. Meine Vermutung ist, dass es spricht über Etiketten in jeder Datei definiert. Diese Labels werden später an Variablen angehängt, und dann werden numerische Werte mit dem entsprechenden Label angezeigt. Ist dies tatsächlich ein Fehler oder eine Warnung Wenn es ein Fehler ist, wird es in roter Farbe angezeigt und stoppt das Programm. Wenn seine eine Warnung, seine in grün und Sie können mit Ihrem Programm ohne Problem weitergehen. Wenn es tatsächlich ein Fehler ist, versuchen Sie, die Zusammenführung mit der Option nolabel auszuführen. Die Hilfedatei sagt, dass es keine Wertbeschriftungen aus den verwendeten Dateien kopiert. Hey du so ja es war nur eine Warnung und kein Fehler, und mit nolabel hat das Problem behoben. Heres einen Vorschlag für einen Beitrag - die Bedeutung der Verwendung von Log-Dateien. Ich hatte gerade crimson go loopy auf mich, und es gelöscht all den schönen Code, den ich in den letzten 5 Tagen geschrieben hatte. Es war ziemlich Code zum Glück konnte ich meine Protokolldatei verwenden, um den Code abrufen und neu erstellen meine Datei - Gott sei Dank. So, jetzt habe ich in Ort ein ordnungsgemäßes Repository Backup-System, aber in der Zwischenzeit bin ich glücklich, dass ich mit Log-Dateien nettes Blog mit interessanten Artikeln. Ich begann ein ähnliches Projekt vor einer Weile, aber ich didnt descover Ihre bis jetzt. Halten Sie sich die gute Arbeit Ihr Blog ist grandios und danke für Ihre Zeit und Bemühungen um es zusammen Ich habe, um 230 Datensätze zusammenzufügen (mit vertikalen Kombination). Haben Sie irgendwelche Tipps dazu, alles auf einmal zu kombinieren, um 230 ID zu empfehlen, empfehlen, bei Stufe 6 in diesem Tutorial zu suchen. Es zeigt, wie man Schleifen verwendet. Wenn Ihre Dataset-Dateien einen systematischen Namen (file1.dta file2.dta. File230.dta) haben, wäre es wirklich einfach mit einer forvalues ​​Schleife. Otherwise you can construct a long macro with all the filenames one after the other (except for the first). Load the first by the use command and then use a foreach loop to joinby, or merge, the other files to the accumulated dataset in memory. Youre awesome Thank you so much Hi Stataman I need some urgent help in understand of the mergins many datasets. I have to merge 6 to 7 datasets in fact. i these files like 1 to 7. I started with merging 1 with 2 using the code use 1 sort id save 1, clear use 2 sort id save 2, clear use 1 merge id using 2, no keep tab merge keep if merge3 use 1 . . . same pattern till I merged all the 7 files to 1. I got finally a merged datasets. My question is should i drop merge1 if i have to use repeated cross sectional sample. First of all you probably need to drop merge, if it exists from previous merges, before any merge. As to the merge 1 (those in memory that did not find a match in the file on disk you are merging into memory), it39s your decision. I don39t think there39s a rule. Maybe they were missing from the first dataset but have observations in datasets 2 to 7. Still in some projects dataset 1 might be crucial, so you might want to drop them after all. What I usually do is look at the most inclusive dataset (with all the ones that did not find a match), try to understand why there is no match and then decide according to what I got what I want to keep. Some times it39s only merge3, other times not. Thank you Statsman for the reply. I think I should give some more explanation to my query. I have 28 quartely collected data in 5 waves each and only 20 of the individuals repeated each wave so that whoever entered in the first wave, 20 of them are interviewed in 2nd waves and this over the 5th wave they exit. Now that there seems to be panel touch in it but it more generally used as a cross sectionally so I do not need to drop if an individual was contacted once. Now in this case if my datasets do not exactly match still I need to keep only merge3 and drop else. can you help me with the choice of merge or append command in that case. I have many variables with the same name and coding over the quarters. Wait, if you have a recurring cross-section, why are you merging it quothorizontallyquot instead of quotverticallyquot Usually you will have the same variables, right Just use the append command and add each wave below the other. You can add a variable that indicates which wave did the observation come from. I am sorry for late reply to your reply but I was unable and away so could not made that in time. Now after following some hints from these posting I think have to use the same append command and I can only have some slight confusion and I hope you would finally help me sort that out also. Ok I appended 28 waves only one wave have such recoded variables which are different from the other codes. For example rest waves codes countries by names and one have have numeric codes. I know I have to recode by tostring and replace commands but as there are more than 100 countries in the names so is there any way which will directly recodes these countries into naming codes instead of digits. I know there might not be but still want to confirm. Also would it be fine to use both the codes for the same named variables. I would recommend creating a dataset that will be like code dictionary. In it you can have a variable for each coding method. One for the numeric codes, another one for three-character country code, another for two-character etc (only if you need to). Then, if your original datasets are tidy, you can merge the relevant variables from the dictionary according to the code you have in the original file and the one you want in the big destination file. After you create the dictionary you only need to merge each file. One more thing to remember, though, is that some commands in Stata don39t like string values (for example, if you try fixed effects regression with xtreg). So maybe the best thing is to keep the numeric country code and maybe label the values with some string format of the country name - so that human eyes can read it easily too. I hope this helps, but I39m less and less sure. Hi Again I am really thanking you for your guidance which let me to work out most of the issues by now. Here the last thing I would like you to confirm for is that if I have the same type of variables like country and there are different answers to this questions like use dataset1 list country UK USA France Spain use dataset2 list countru UK USA Spain Germany. Would the apending the command would replace not being alike entries in the dataset or it would creat another category in the same variable. eg use apndeddataset list country UK USA Spain Germany France or it would add the entries alike and superimpose the dataset1 entry of france with germany. Please confirm it for me as I have more than hundred countries in my country variables I could not figured out how that appending the country variable in 8 different quarterly data would be consistent. The best way to learn that is to experiment. Try to construct datasets as you gave in the example and then do the append and see what happens. Append does not superimpose datasets on each other. It just puts the appended dataset below the dataset in memory. If you have the same variable name for country, it will put the appended observations39 countries in the same variable, but in the appended observations. If there are two names (country and countru), then a new variable named countru will be created and the first dataset39s observations will have missing values for countru whereas the appended dataset39s observations will have missing values for country. I39m pretty sure experimenting will be much more helpful than my comments. Nice Blog indeed Thanks THANK YOU SO SO SO MUCH Your site (the mergeappend post) just saved me from hours amp hours or further struggling (I39ve already spent many such hours). Thanks Thank you, I really needed a refresher on Stata. ) Your blog is wonderful. Hi Stataman, I am working on a project. I need to make combinations of variables of the common values in those variables and create new variables from these. For example, in one dataset, I have 8 variables so possible number of combinations would be 28 for two, 56 for three, 70 for four etc. I have worked out a way but this takes a long time. Can you help me write a shorter code or guide me which command(s) should be used to accomplish this. Vielen Dank. Nafees You can use the gen or egen command where gen newvar var1 if var2varvar3 format. This way all equal in values variables will be generated. Hi, I hope this question is not too basic, but I am new to Stata and don39t really know how to search for help with this question. I am analyzing data from the American National Election Study of 2008. In the post election part of the survey, respondents are asked two questions about their perception of government responsiveness. The problem is that about half of the respondents are asked one version (labeled quotoldquot question) of the first question. The other half are asked another version (labeled quotnewquot) of the first question. The only difference between the two versions, however, is the presence of the word quotaboutquot in one and its absence in the other. Thus, I want to assume that the questions are asking essentially the same thing. The second of these Government Responsiveness questions (the actual second question, not the second version of the first question) just has one version. I want to create a scale to combine the responses to the two Government Responsiveness questions. but don39t know how given the two versions of the first question. Normally, if two questions only have one version each, I would generate a new scaled variable to combine the two questions, as in gen NewScale (Question1 Question2). However, given that there are two versions of question 1, I don39t know how to do this. If you would help me I would be most helpful. Dank für Ihre Zeit. I am merging data on 1 to 1, 1 to many, and many to one but i a m getting the message quotvariable hhid does not uniquely identify observations in the master dataquot When i merge on m to m data especially on group variables is becoming correlated. what can i do I used the following commands: use quotC:UsersMWENIAKDocumentsLCMS2006Education 14.08.2010.dtaquot, clear rename SEC4PID pid rename HID hhid sort hhid pid save newfile1.dta, replace use quotC:UsersMWENIAKDocumentsLCMS2006Household Roster and migration and poverty. dtaquot, clear sort hhid pid save newfile2.dta, replace I am merging data on 1 to 1, 1 to many, and many to one but i a m getting the message quotvariable hhid does not uniquely identify observations in the master dataquot When i merge on m to m there is no problem and it is successful, but data especially on group variables is becoming correlated. what can i do I used the following commands: use quotC:UsersMWENIAKDocumentsLCMS2006Education 14.08.2010.dtaquot, clear rename SEC4PID pid rename HID hhid sort hhid pid save newfile1.dta, replace use quotC:UsersMWENIAKDocumentsLCMS2006Household Roster and migration and poverty. dtaquot, clear sort hhid pid save newfile2.dta, replace Merges the three new files generated use newfile1.dta, clear merge 1:1 hhid using newfile2.dta tab merge check the file to verify that merge takes the appropriate value drop if merge3 drop merge Try to merge according to both hhid and pid: merge hhid pid using. Thanx for your quick response. I tried merging using both hhid and pid but i am getting the following error message: merge 1:1 hhid pid using newfile2.dta variables hhid pid do not uniquely identify observations in the master data This means your dataset has at least one case in which at least two observations share the same combination of hhid and pid. Stata doesn39t know which one of them to choose for the merge. You need to figure out exactly how your datasets are constructed. Using different egen commands can help you learn more about it. For example: egen c count(n), by(hhid pid) tab c browse if c gt 1 Will show you the cases that confuse the merge Thanx once again. I have managed to use the egen and got the following results: use quotC:UsersMWENIAKDocumentsLCMS2006Education 14.08.2010.dtaquot, clear rename SEC4PID pid rename HID hhid egen c count(n), by(hhid pid) tab c c Freq. Percent Cum. 1 95009 99.82 99.82 2 170 0.18 100 Total 95179 100 what can i do to make merge 1 to 1 possible. please advise I39m sorry I can39t help more, but I39d look at the 170 cases of 2 obs per hhid-pid combination and see why you have them. If they are just duplicates, drop one of each (duplicates command can help with that). If they are not exact duplicates, try to find out what distinguishes each observation in the pair and see maybe there39s a third variable you need to merge by. Thanx very much stataman. may almighty God bless you. your advice worked. i dropped the 170 cases and a 1to 1 merge worked. I39d drop only half of the 170 cases (those that are duplicates), not all of them. There is still valuable information in them. To keep just one instance of every group of the same hhid-pid you can: egen tag tag(hhid pid) keep if tag 1 drop tag Hi stataman. with your advise i managed to merge the first four files successfully. when i decided to merge three extra files to make 7 files there is a problem. variables from the second and third file were dropped from the final merged file. what can i do to retain all the variables in the seven files hi stataman i want to withdraw my earlier post. You took too long to reply. Therefore i made so many tries and research only to discover a typographical error in my do file. it is working perfectly. you are genius hi stataman i want to withdraw my earlier post. You took too long to reply. Therefore i made so many tries and research only to discover a typographical error in my do file. it is working perfectly. you are genius Hi Stataman I have two datasets, one baseline and one follow up each of these have unique ID for household (hhid). I want to merge these to construct a panel of it. I need your suggestions. Thanking you in anticipation. Stataman. You briliant. Thanks a lot I have a question regarding how to merge datasets. I want to combine datasets (individual data) from different countries where the categories for each variable will be different, for example with quotpolitical partyquot or quotprovincequot. Although they are the same variables, what do I do so that all of the categories for all three countries appear in the 39base39 dataset Right now I am trying to do this in SPSS but I am not sure how to continue or if I should try this in STATA. In one dataset I have added more categories for the political parties in each country, but do I have to recode them then in the original dataset before merging I hope this makes sense and thanks in advance for any advice you can give me Sorry, I meant to elaborate, I think this would be either a one to many merge or many to many merge. Another example like I said is the province variable where for one country there are certain provinces and for another country there are others. So the variable is the same, but the categories are different. I would really appreciate specifically on the best method to use and the commands I would need to do this. I have read over the post but any extra advice regarding my examples would help Our SLM household survey data contains a number of files pertaining to various socioeconomic aspects of the population. We have managed to merge different files with the master file by jointly using HHcode and IDC (the personal identifier). However, we are finding difficulty in merging the file containing data on remittances with the master file. This remittance file has only HHcode as identifier, and as is the case with other files, is not unique. One solution that works is to drop all non-unique HHcode observations in the remittance file, and then do a m:1 merge with the master file. We are wondering if there exists a better solution to the problem. I have a huge problem Im using data from WB and because its too big they divide it into 45 files. I merged them one by one. but then they have 2 files at the end with the weights. Im stuck, I really need the weights but how can I merge them since the variable dont correspond any little help would be highly appreciated hi, if i need to merge data based on more than one key variable, hw do i do it You can use options like 1:m, m:m and m:1. for more details, see help merge in Stata. Anees aneconomist dot com These multiple dataset are really very helpful. The discussion is really nice and getting some ideas. Very nice article and I am Obat Bius very happy to meet with your blog, the articles are very interesting, thank you for share very amazing article and I wait for the next quality articles. Thanks for your help regarding the already defined error when merging datasets That was helpful I am reading your post from the beginning, it was so interesting to read amp I feel thanks to you for posting such a good blog, keep updates regularly. Regards, Salesforce training in Chennai Excellent information with unique content and it is very useful to know about the information based on blogs. Selenium Training in Chennai QTP Training In Chennai In database computing, Oracle Real Application Clusters (RAC) 8212 an option for the Oracle Database software produced by Oracle Corporation and introduced in 2001 with Oracle9i 8212 provides software for clustering and high availability in Oracle database environments. Oracle Corporation includes RAC with the Standard Edition, provided the nodes are clustered using Oracle Clusterware. Oracle RAC allows multiple computers to run Oracle RDBMS software simultaneously while accessing a single database, thus providing clustering. In a non-RAC Oracle database, a single instance accesses a single database. The database consists of a collection of data files, control files, and redo logs located on disk. The instance comprises the collection of Oracle-related memory and operating system processes that run on a computer system. Whatever we gathered information from the blogs, we should implement that in practically then only we can understand that exact thing clearly, but it8217s no need to do it, because you have explained the concepts very well. It was crystal clear, keep sharing.. Microsoft SQL Server Training In Chennai Such a informative post. Thanks for sharing your knowledge with us. keep it up for updating post.. sonymobileservicecenterinchennai. inAboutUs. html Such a informative post. Thanks for sharing your knowledge with us. keep it up for updating post.. sonymobileservicecenterinchennai. inAboutUs. html WebMethods Training in Chennai This information is impressive I am inspired with your post writing style amp how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic.. Econometricians Club (econometricians. club) offers an online course in Stata for Econometrics and as I am member of this blog since long, I wish to offer a discount to any of the blog-member in an online, one to one and private online course to be recorded for the participant for future use with custom module based on the participant specialization of research. The courses include: 1. Data Cleaning, Merging, Appending, Managing, Graphing 2. Analysis, Regression, Correlation, Hypothesis Testing 3. Regression Evaluation, Assumptions and Specification Tests 4. Modification of Models based on 3 where needed 5. Writing of Results in Academic Standards Those who register for this course and mention STATMANBLOG, I will give him a discount for around 50 of the course fee charged from normal students. This information is impressive..I am inspired with your post writing style amp how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic.. Stataman: Your blog is really informative. How often do you clean spams nowadays There appear several spams: people are trying to sell their junk training courses. Could you help explain the difference in the following merging commands The first merge command I experimented is: . merge 1:m idgr using. idgr is the identifying var, which is created by grouping two vars, id and session The second is: . merge 1:m id session using. id and session are the two identifying vars The results of the two merging process are not the same. The first one gives less merged obs (merge3) than the second one does. Should I keep the second merge result or the first one Your point of selling junk courses can be true but for my own comment as an instructor of Econometrics using Staa at econometricians. club might be exclusion as it is fully relevant as I am always looking to this forum since 20092010. Now, the two codes are difference as the first one matches each observationvariable based on only on idgr while the second one makes pairs for unique combinations using the id session. Initially, the two datasets are compared for idgr only for first set of code and if that matches between the data, it is merged accordingly and merge results will be 3. Otherwise, it can be only in mainparent data or merging data. The second code first makes unique ids based on the pairs of id and session and where both the id and session matches between the two datasets, then it creates the merge 3 or it might be to the one or other datasets. I wish this explain simple explanation helps you understand the issue.


No comments:

Post a Comment