Mischbefehlsvergleich zwischen R und Stata

8

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?

    
lokheart 07.09.2011, 08:01
quelle

2 Antworten

6

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.

    
user872324 07.09.2011 09:07
quelle
0

joinby, unmatched (beides) ist der Befehl, der dem R-Befehl merge entspricht.

Insbesondere merge m: m macht NICHT viel zu viele merge (dh volle Join) im Gegensatz zu was die Dokumentation impliziert.

    
Matthew 05.06.2015 00:13
quelle

Tags und Links