Als R-Benutzer lerne ich Stata jetzt mit dieser Ressource und Ich bin verwirrt über den Befehl merge
.
In R muss ich mir keine Gedanken darüber machen, dass Daten falsch zusammengeführt werden, weil sie ohnehin alles zusammenführt. Ich muss mir keine Sorgen machen, wenn die allgemeinen Spalten Duplikate enthalten, weil der Y
-Datenrahmen mit jeder der duplizierten Zeilen im X
-Datenrahmen zusammengeführt wird. (mit all=FALSE
in merge
)
Aber für Stata muss ich die doppelten Zeilen aus X
entfernen, bevor ich mit der Zusammenführung fortfahre.
Wird in Stata davon ausgegangen, dass die gemeinsame Spalte in der Master-Tabelle eindeutig sein muss, damit merge
fortfahren kann?
Die Antwort auf Ihre Frage ist Nein. Ich werde versuchen zu erklären, warum.
Der von Ihnen erwähnte Link deckt nur eine Art von Zusammenführung ab, die mit Stata möglich ist, nämlich die Eins-zu-viele-Zusammenführung.
merge 1:m varlist using filename
Andere Arten der Zusammenführung sind möglich:
Eins-zu-eins-Merge für angegebene Schlüsselvariablen
merge 1:1 varlist using filename
Viele-zu-eins-Merge für angegebene Schlüsselvariablen
merge m:1 varlist using filename
Viele-zu-viele Werte werden bei angegebenen Schlüsselvariablen zusammengeführt
merge m:m varlist using filename
Eins-zu-eins-Zusammenführung durch Beobachtung
merge 1:1 _n using filename
Details, Erklärungen und Beispiele finden Sie in help merge
.
Wenn Sie nicht wissen, ob Beobachtungen in einem Datensatz eindeutig sind, können Sie folgende Überprüfung durchführen:
bysort idvar: gen N = _N
ta N
Wenn Sie Werte von N finden, die größer als 1 sind, wissen Sie, dass Beobachtungen in Bezug auf idvar nicht eindeutig sind.
Dies ist in der Tat die neue Syntax des Befehls merge
, die mit Stata 11 eingeführt wurde. Vor Stata 11 war der Zusammenführungsbefehl etwas einfacher. Sie mussten einfach Ihre Daten sortieren, und dann konnten Sie tun:
merge varlist using filename
Übrigens können Sie diese alte Syntax immer noch in Stata 11 oder höher verwenden.