Mergng von Datensätzen über Teilnehmer ID

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
kosa
Beiträge: 2
Registriert: Mo Sep 02, 2019 6:47 pm

Mergng von Datensätzen über Teilnehmer ID

Beitrag von kosa » Mo Sep 02, 2019 7:03 pm

Hallo alle zusammen,

Ich würde gern meine Merging-Strategie optimieren. Ich habe bei einer Untersuchung eine Vorher und Nachher-Befragung durchgeführt und habe die Daten nun nach Teilnehmer-ID gematcht. Man verliert dabei natürlich eine Hand voll Daten, da es Personen gibt, die nur bei der Vorher- bzw. nur bei der Nachher-Befragung teilgenommen haben. Zudem kann man bei einer visuellen Inspektion der Teilnehmer-IDs stark vermuten, dass manche Daten aufgrund von Tippfehlern in der ID nicht gematcht werden konnten. Zum Beispiel gibt es bei der Vorher-Erhebung eine ID mit SAJM27 und bei der Nachher-Befragung eine ID mit SAJN27. Es gibt auch noch andere Varianten. Meine Frage wäre, wie ich R anleiten kann ID's, die sich nur in einem Buchstaben unterscheiden, dennoch zu matchen, wenn zum Beispiel Alter und Geschlecht trotzdem übereinstimmt.

Wie könnte ich zum Beispiel über das Schreiben einer Funktion mir alle Fälle ausgeben lassen, die hinsichtlich ihrer ID ähnlich genug sind und Alter und Geschlecht auch übereinstimmen und anschließend über eine if-Funktion automatisch mergen lassen kann, wenn bestimmte Kriterien erfüllt sind?

Kriterien:
1) Mindestens vier der sechs Buchstaben bzw. Ziffern stimmen überein und stehen an der richtigen Stelle (Reihenfolge) (Bsp.: SAJM27 --> SAIN27) und
2) mindestens einer des/der "falschen" Buchstabens/Ziffer stimmt wenigstens inhaltlich überein (z.B. SAJM27 --> SAJM02)
3) Alter (+- 1) und Geschlecht stimmen überein

Alternativ:
1) Mindestens drei der vier Buchstaben stimmen überein
2) Mindestens eine der zwei Ziffern stimmen überein
3) Alter (+-1) und Geschlecht stimmen überein

Wie kann ich das programmieren? Jeder Hinweiß wäre toll!

Kliene Anmerkung:
Das merging habe ich mit dem Befehl "merge" vorgenommen.

dat_all<- merge(dat1,dat2,by="ID", all=T) #Auflistung aller Daten, auch diejenigen, die sich nicht matchen lassen
dat<- merge(dat1,dat2,by="ID", all=F) #nur vollständige Datensätze (Teilnahme bei Vorher- und Nachher-Befragung; ohne Berücksichtigung von Tippfehlern)

Schonmal vielen Dank!

Benutzeravatar
EDi
Beiträge: 887
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Mergng von Datensätzen über Teilnehmer ID

Beitrag von EDi » Mo Sep 02, 2019 7:28 pm

Das könnte hilfreich sein: https://cran.r-project.org/web/packages/fuzzyjoin/README.html
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.

kosa
Beiträge: 2
Registriert: Mo Sep 02, 2019 6:47 pm

Re: Mergng von Datensätzen über Teilnehmer ID

Beitrag von kosa » Mo Sep 02, 2019 7:34 pm

Danke! Ich schaue mir das gleich mal an :)

Antworten