Laden Sie eine kleine Stichprobe aus einer großen CSV-Datei in den R-Datenrahmen

8

Die zu verarbeitende CSV-Datei passt nicht in den Speicher. Wie kann man ~ 20K zufällige Zeilen davon lesen, um grundlegende Statistiken über den ausgewählten Datenrahmen zu machen?

    
P.Escondido 07.03.2014, 21:32
quelle

4 Antworten

22

Sie können es auch einfach im Terminal mit Perl machen.

perl -ne 'print if (rand() < .01)' biglist.txt > subset.txt

Dies wird nicht unbedingt exakt 20.000 Zeilen ergeben. (Hier wird es etwa 0,01 oder 1% der gesamten Zeilen aufnehmen.) Es wird jedoch wirklich sehr schnell sein, und Sie werden eine schöne Kopie von beiden Dateien in Ihrem Verzeichnis haben. Sie können dann die kleinere Datei in R laden, wie Sie möchten.

    
Jed 07.03.2014 21:55
quelle
4

Das sollte funktionieren:

%Vor%     
Señor O 07.03.2014 21:49
quelle
4

Versuchen Sie dies anhand der Beispiele 6e und 6f auf der sqldf github-Startseite :

%Vor%

Siehe ?read.csv.sql unter Verwendung anderer Argumente, je nach den Einzelheiten Ihrer Datei.

    
G. Grothendieck 07.03.2014 23:29
quelle
-3

Folgendes kann verwendet werden, wenn Sie eine ID oder etwas ähnliches in Ihren Daten haben. Nehmen Sie eine ID-Stichprobe und nehmen Sie dann die Teilmenge der Daten mit den Stichprobenidentifikationen.

%Vor%     
Philip John 28.03.2015 16:44
quelle

Tags und Links