Ich bin ein R Neuling und versuche doppelte Spalten aus einem größeren Datenrahmen zu entfernen (50K Zeilen, 215 Spalten). Der Rahmen hat eine Mischung aus diskreten kontinuierlichen und kategorischen Variablen.
Mein Ansatz bestand darin, für jede Spalte im Frame eine Tabelle in eine Liste zu generieren und dann mit der duplicated()
-Funktion Zeilen in der Liste zu finden, die Duplikate sind, wie folgt:
Dies ist insbesondere bei großen kontinuierlichen Variablen nicht sehr effizient. Ich bin jedoch diesen Weg gegangen, weil ich nicht das gleiche Ergebnis mit der Zusammenfassung erhalten konnte (beachten Sie, dass im Folgenden angenommen wird, dass ein Original testframe
Duplikate enthält):
Wenn Sie diesen Code ausführen, wird nur das erste gefundene Duplikat entfernt. Ich gehe davon aus, dass ich etwas falsch mache. Kann jemand darauf hinweisen, wo ich falsch liege, oder, noch besser, mich auf die bessere Möglichkeit hinweisen, doppelte Spalten aus einem Datenrahmen zu entfernen?
Hier ist ein einfacher Befehl, der funktionieren würde, wenn die doppelten Spalten Ihres Datenrahmens die gleichen Namen hätten:
%Vor% Eigentlich müssten Sie nur das Duplikate-Ergebnis in Ihrem Code invertieren und an der Verwendung von subset
festhalten (was im Vergleich zur Bracket-Notation imho besser lesbar ist)