___ qstnhdr ___ Whitespace aus einem ganzen Datenrahmen in R entfernen
___ answer35945385 ___
Ich nehme Fremzy und den Kommentar von Stamper auf, das ist jetzt meine praktische Routine, um Leerzeichen in Daten zu bereinigen:
%Vor%
Wie andere bemerkt haben, ändert dies alle Typen in Zeichen. In meiner Arbeit ermittle ich zuerst die Typen, die im Original und den erforderlichen Konvertierungen verfügbar sind. Nach dem Trimmen trage ich die benötigten Typen erneut ein.
Wenn Ihre Originaltypen in Ordnung sind, wenden Sie die Lösung von MarkusN unter Ссылка
an
Diejenigen, die mit Excel-Dateien arbeiten, möchten vielleicht das readxl-Paket untersuchen, das beim Lesen standardmäßig auf trim_ws = TRUE gesetzt wird.
___ answer20760767 ___
Wenn ich Sie richtig verstanden habe, dann möchten Sie alle Leerzeichen aus dem gesamten Datenrahmen entfernen, ich denke, der Code, den Sie verwenden, ist gut zum Entfernen von Leerzeichen in den Spaltennamen. Ich denke, Sie sollten dies versuchen:
%Vor%
Ich hoffe, das funktioniert.
Dies wird eine Matrix zurückgeben, aber wenn Sie es in einen Datenrahmen ändern wollen, dann tun Sie:
%Vor%
BEARBEITEN 2017:
Die Verwendung von data.table
und set
function mit data.table
kann führende und nachfolgende Leerzeichen entfernen, aber nicht darin. Da vom OP keine Eingabedaten bereitgestellt wurden, füge ich ein Dummy-Beispiel hinzu, um die Ergebnisse zu erzeugen.
%Vor%
Ausgabe :
%Vor%
___ answer37815274 ___
Ich nahm Fremzy und Mielniczuk auf und kam zu folgender Lösung:
%Vor%
Es funktioniert für gemischte numerische / Charactert Datenrahmen manipuliert nur Zeichenspalten.
___ qstntxt ___
Ich habe versucht, den Leerraum zu entfernen, den ich in einem Datenrahmen (mit R) habe. Der Datenrahmen ist groß (& gt; 1 GB) und hat mehrere Spalten, die Leerraum in jedem Dateneintrag enthalten.
Gibt es eine schnelle Möglichkeit, den Leerraum aus dem gesamten Datenrahmen zu entfernen? Ich habe versucht, dies in einer Teilmenge der ersten 10 Datenzeilen mit Hilfe von:
zu tun
%Vor%
Dies schien nicht zu funktionieren, obwohl R eine Ausgabe zurückgab, die ich nicht interpretieren konnte.
%Vor%
R hat 47 Warnungen zurückgegeben und den Leerraum nicht entfernt.
%Vor%
R gab einen Fehler mit der Fehlermeldung "Fehler: konnte die Funktion" erase_all "'
nicht finden
Ich würde wirklich etwas Hilfe dabei zu schätzen wissen, da ich die letzten 24 Stunden damit verbracht habe, dieses Problem anzugehen.
Danke!
___ answer33591389 ___
Sie könnten die Trimws-Funktion in R 3.2 für alle Spalten verwenden.
%code%
Sie können dies für alle Spalten in Ihrer Datenmenge wiederholen. Es hat auch gute Leistung mit großen Datensätzen.
___ answer36439573 ___
Wenn Sie die Variablenklassen in Ihrem %code% beibehalten möchten, sollten Sie wissen, dass die Verwendung von %code% sie überflüssig macht, weil sie %code% ausgibt, wobei alle Variablen in %code% oder %code% konvertiert werden. Basierend auf dem Code von Fremzy und Anthony Simon Mielniczuk können Sie die Spalten Ihres data.frames durchlaufen und den Leerraum nur von Spalten der Klasse %code% oder %code% abschneiden (und Ihre Datenklassen beibehalten):
%Vor%
___ antwort43821211 ___
Wenn Sie mit großen Datenmengen wie dieser arbeiten, könnten Sie wirklich von der Geschwindigkeit von %code% profitieren.
%Vor%
Ich würde erwarten, dass dies die schnellste Lösung ist. Diese Codezeile verwendet den %code% -Operator von %code% , der sehr schnell über Spalten springt. Es gibt eine schöne Erklärung hier: Schnelles Looping mit set .
___ tag123replace ___ Ersetzen ist die Aktion, die eine Zeichenfolge nach einer Unterzeichenfolge durchsucht und sie durch eine andere Zeichenfolge ersetzt.
___ tag123r ___ R ist eine freie, quelloffene Programmiersprache und Softwareumgebung für statistische Berechnungen, Bioinformatik, Visualisierung und allgemeine Datenverarbeitung. Stellen Sie minimale, reproduzierbare, repräsentative Beispiele für Ihre Fragen bereit. Verwenden Sie dput () für Daten und geben Sie alle Nicht-Basis-Pakete mit Bibliotheksaufrufen an. Bilder für Daten oder Code nicht einbetten, eingerückte Codeblöcke verwenden. Verwenden Sie für statistische Fragen http://stats.stackexchange.com.
___ tag123whitespace ___ Whitespace oder Leerraum wird oft verwendet, um auf eine beliebige Kombination von Leerzeichen, Tabulatoren und neuen Zeilen zu verweisen, die zwischen Text horizontal oder vertikal Leerräume erzeugen.
___ answer20764097 ___
R ist einfach nicht das richtige Werkzeug für eine solche Dateigröße. Allerdings haben 2 Optionen:
Verwenden Sie ffdply und ff base
Verwenden Sie %code% und %code% Pakete:
%Vor%
Benutze sed (meine Präferenz)
%Vor%
___ tag123gsub ___ Ruby, Lua, R und Awk Methoden zur Durchführung einer globalen Musterersetzung.
___