Ich habe Umfragedaten - nennen Sie es survey
- wo eine Reihe von Menschen auf Fragen geantwortet. Ich habe den Namen jeder Person, die Fragen, die sie beantwortet haben, und ihre Antwort, alles in langer Form (der Name jeder Person wird Dutzende Male wiederholt, einmal für jede Frage).R: Merge zwei Datenrahmen auf der Grundlage von zwei Beitritt Bedingungen erfüllt werden
Name des Mitarbeiters | Frage | Antwort
In einem zweiten Datenrahmen - nennt es metaData
-, ich habe zusätzliche Daten über eine Teilmenge der Fragen
Mitarbeiternamen | Frage | Fragenbewertung | Studienplan für die Frage | usw.
Beide Datensätze teilen Mitarbeiter Name und Frage Spalten, die genau übereinstimmen sollten.
Ich brauche merge()
diese beiden Datenrahmen, aber weder Mitarbeiter Name noch Frage ist ausreichend, um zu verbinden. Wenn Sie Frage- und Angestelltennamen kombinieren, ist dies eine eindeutige ID. In Pseudocode, merge(survey, metaData, where(employeeSurvey == employeeMeta && questionSurvey == questionMeta)
.
Wenn Sie beispielsweise nur den Namen eines Mitarbeiters eingeben, werden Hunderte von Übereinstimmungen zurückgegeben. Es sollte jedoch nur einen geben, bei dem sowohl der Name des Mitarbeiters als auch die Frage identisch sind.
Wie kann ich basierend auf diesen beiden Bedingungen zusammenführen?
Bedeutet das "beide" im Gegensatz zu "oder"? – Mako212
Ja. Im Beispiel habe ich angenommen, dass die Feldnamen in jedem Datenrahmen unterschiedlich sind. – alaybourn
Perfekt, danke! – Mako212