Merge ohne eindeutige Schlüsselvariable

Fragen zu Stata Syntax und Do-Files.

Merge ohne eindeutige Schlüsselvariable

Beitragvon Kugell » Di 19. Nov 2013, 13:00

Hallo,

ich möchte zwei Datensätze verschmelzen, habe allerdings das Problem, dass ich keine eindeutige Schlüsselvariable habe.

Beispiel: Patente aus Technologieklassen
Datei 1: 'Patent_id';'Technologiefeld';'Weitere Variablen1,2,3'
Datei 2: 'Patent_id';'Technologiefeld';'Unterkategorie'

Da Patente in mehreren Technologieklassen gleichzeitig angemeldet werden können, gibt es teilweise mehrmals die gleiche Patent_id in Datei 1. Genauso in Datei 2, nur hier ist zusätzlich die Information aus 'Unterkategorie' enthalten. Diese Information will ich in Datei 1 integrieren.
In dieser ist aber teilweise nur ein Fall enthalten, da ja die weitere Aufsplittung hier fehlt. Wie kann ich also über 'Patent_id' und 'Technologiefeld' die Einträge abgleichen und die zugehörigen Unterkategorien ergänzen? Zusätzlich müssten die Einträge dann jeweils entsprechend in Datei 1 dupliziert werden, wenn der sonst identische Eintrag mehrere Unterkategorien aus Datei 2 bekommt.

Jegliche Versuche das mit merge zu lösen, sind leider gescheitert. Ich hoffe meine Erklärung ist verständlich, sonst gerne nachfragen. Bereits im Voraus ein rießges Dankeschön!

Viele Grüße
Kugell
Kugell
 
Beiträge: 3
Registriert: Di 19. Nov 2013, 12:35
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Merge ohne eindeutige Schlüsselvariable

Beitragvon daniel » Di 19. Nov 2013, 13:30

Ich verstehe die Situation noch nicht komplett, aber vielleicht fangen wir damit an, dass Du etwas ausführlicher beschreibst, wie denn

Jegliche Versuche das mit merge zu lösen


aussehen? Hast Du dazu mal code Beispiele? Welche Stata Version verwendest Du?
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Merge ohne eindeutige Schlüsselvariable

Beitragvon Kugell » Fr 22. Nov 2013, 16:11

Ich verwende Stata 12.

Das Problem ist, dass ich über
Code: Alles auswählen
. merge 1:1 application_id area using "XXX.dta"
variables application_id area do not uniquely identify observations in the
    master data
r(459);


nicht weiterkomme, da die Variable application_id und area eben nicht eindeutig sind, da in manchen Fällen noch Subareas existieren, so dass die ersten beiden Variablen doppelt vorkommen sind. Im zweiten File sind aber keine subareas angegeben, darüber kann ich also nicht mergen.
Ich will also prinzipiell über die Variablen "application_id" in Kombination mit "area" mergen, und für die Fälle in denen ein Patent nicht nur die gleiche application_id und area hat, sondern zusätzlich noch in zwei verschiedenen Subareas angemeldet wurde, dies als zwei Fälle aufnehmen und die Daten aus dem anderen Datensatz (wo ich nur application_id und area habe) doppelt reinschreiben...

Ich hoffe, das war etwas verständlicher. Danke und viele Grüße, Kugel
Kugell
 
Beiträge: 3
Registriert: Di 19. Nov 2013, 12:35
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Merge ohne eindeutige Schlüsselvariable

Beitragvon daniel » So 24. Nov 2013, 14:52

Das klingt nach einem einfachen m:1 -merge- anstelle des 1:1.
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Merge ohne eindeutige Schlüsselvariable

Beitragvon Kugell » Di 26. Nov 2013, 13:04

Ein m:1 war es nicht, aber ein m:m Merge hat funktioniert. Danke für die super Hilfe, das hat sehr geholfen!

Liebe Grüße
Kugell
 
Beiträge: 3
Registriert: Di 19. Nov 2013, 12:35
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Merge ohne eindeutige Schlüsselvariable

Beitragvon daniel » Di 26. Nov 2013, 13:48

Ein m:1 war es nicht, aber ein m:m Merge hat funktioniert. Danke für die super Hilfe, das hat sehr geholfen!


Nein! Das hat mit an Sicherheit grenzender Wahrscheinlichkeit nicht funktioniert! StataCorp hätte diese Option niemals dokumentieren sollen. Zumindest wir im Manual sehr klar vor m:m merges gewarnt:

Because m:m merges are such a bad idea, we are not going to show you an example. If you think
that you need an m:m merge, then you probably need to work with your data so that you can use a
1:m or m:1 merge.


Nur weil Stata keine Fehlermeldung bringt, heißt das noch unter keinen Umständen, dass ein Zusammenführen erfolgreich -- im Sinne einer sinnvollen Verknüpfung -- war. Schau unbedingt ganz genau in die Daten (i.e. Fall für Fall), ob das Ergebnis wirklich das ist, was Du Dir vorstellst.
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Stata Syntax

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste