Warum merge führen, dass mehr Zeilen als die ursprünglichen Daten?

Wenn ich merge zwei Daten-frames, die das Ergebnis mehr Zeilen hat als die ursprünglichen Daten.

In diesem Fall, die alle dataframe hat 104956 Zeilen, koppen hat 3968 Zeilen und alltest dataframe hat 130335 Zeilen. Normalerweise alltest gehabt haben sollte, die Zeilen, die gleich oder weniger als alle.

Warum ist diese inflation geschieht? Ich bin nicht sicher, wenn geben die reproduzierbare Beispiel würde helfen, wie es funktioniert in der vorherigen Instanzen, die ich haben verwendet es.

alltest <- merge(all, koppen, by = "fips", sort = F)
Wahrscheinlich, weil einer der beiden dataframes hatte doppelte Werte von fips.
Oh wait, es gibt doppelte FIPS in der ALLE natürlich. Es soll nicht einmalig sein. Irgendeine Idee, wie kann ich die Zusammenführen kann, ohne eine Erhöhung dieser Zeilen?
Tut nrow(koppen)==length(unique(koppen$fips)) zurück TRUE? Wenn nicht, dann gibt es dupliziert Werte fips
Wie würden Sie verschmelzen Sie eindeutig erhöhen, ohne die Anzahl der Zeilen?
"Ich bin nicht sicher, wenn geben die reproduzierbare Beispiel würde helfen, wie es funktioniert in der vorherigen Instanzen, die ich haben verwendet es." Ein reproduzierbares Beispiel sollte das Problem reproduzieren Sie mit.

InformationsquelleAutor Geekuna Matata | 2014-06-10

Schreibe einen Kommentar